PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Django prefetch_related mit Limit

Ich denke, es gibt jetzt eine Problemumgehung für die neue Version von Django, da wir OuterRef und Subquery haben.

from django.db.models import OuterRef, Subquery, Prefetch

subqry = Subquery(Comment.objects \
    .filter(user_id=OuterRef('user_id')) \
    .values_list('id', flat=True)[:5])

User.objects.prefetch_related(
    Prefetch('comments', queryset=Comment.objects.filter(id__in=subqry)))