I would like to filter queryset, with prefetch_related objects. This code works, but I would like to write it more efficiently. Do you have any idea ?
queryset = Song.objects.prefetch_related(
Prefetch('harmonies', queryset=Harmony.objects.filter(someQuery)))
for s in queryset:
if s.harmonies.count() > 0:
songs.append(s.id)
queryset = queryset.filter(id__in=songs)
I tried something like this, but it didn't work.
queryset = queryset.annotate(h_count=Count('harmonies')).exclude(h_count=0)
Thank you , for your help.