PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Django prefetch_related con limite

Penso che ora ci sia una soluzione alternativa alla nuova versione di django poiché abbiamo OuterRef e Subquery.

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)))