How can a do a “greatest-n-per-group” query in django?

后端 未结 3 1825
有刺的猬
有刺的猬 2020-12-17 22:20

(This is the django version of the thread at SQL join: selecting the last records in a one-to-many relationship)

Suppose I have a table of customers and a table of p

3条回答
  •  一向
    一向 (楼主)
    2020-12-17 23:24

    You can't do this in one query in Django. You can get the customer with just the date of their most recent purchase like this:

    from django.db.models import Max
    customers = Customer.objects.annotate(Max('purchase__date'))
    

    but you don't automatically get access to the actual purchase this way.

提交回复
热议问题