PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Django prefetch_related avec limite

Je pense qu'il existe maintenant une solution de contournement pour la nouvelle version de Django car nous avons OuterRef et 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)))