Comment

James Bennett

Try this:

from django.contrib.postgres.aggregates import StringAgg
from django.db.models import Func

result = Song.objects.filter(
    artist=artist
).aggregate(
    names_hash=Func(
        StringAgg('name', ''), function='md5'
    )
)

Replies

Peter Bengtsson

That's awesome! I'm not on my computer so I can't test it but it'd be fast.

Peter Bengtsson

See UPDATE above.

Paolo Melchiorre

Best optimization
I start thinking to suggest this solution before reading the "Update" section.

P.S. They added "MD5" database function in Django dev:
https://docs.djangoproject.com/en/dev/ref/models/database-functions/#md5