class Order(models.Model):
# ..fields
user = models.ForeignKey(User, on_delete=models.CASCADE)
date_added = models.DateTimeField(auto_now_add=True)
我想获取所有用户,并为每个用户添加其最新订单-例如date_add最大的用户Order
。我想在单个查询中进行此操作(就像在SQL中一样,只需使用一个查询即可完成)。
这是我尝试过的:
users = User.objects.all().annotate(last_order=Max('order__date_added'))
但这只给了我最后一个订单的日期,我想要Order对象本身。
答案 0 :(得分:0)
型号:
class User(models.Model):
...
def get_latest_order(self):
return self.order_set.latest('date_added')
观看次数
user = User.objects.all()
for u in user:
print(u.get_latest_order())