how to subquery in queryset in django?

后端 未结 5 1596
予麋鹿
予麋鹿 2020-12-14 00:49

how can i have a subquery in django\'s queryset? for example if i have:

select name, age from person, employee where person.id = employee.id and
employee.id          


        
5条回答
  •  -上瘾入骨i
    2020-12-14 01:46

    The correct answer on your question is here https://docs.djangoproject.com/en/2.1/ref/models/expressions/#subquery-expressions

    As an example:

    >>> from django.db.models import OuterRef, Subquery
    >>> newest = Comment.objects.filter(post=OuterRef('pk')).order_by('-created_at')
    >>> Post.objects.annotate(newest_commenter_email=Subquery(newest.values('email')[:1]))
    

提交回复
热议问题