我正在使用python 3.7和django 2.1。
我正在尝试通过“最新的”孩子对象属性来过滤父对象
我可以使用2个查询(请参见-Django Query That Get Most Recent Objects From Different Categories)
Class Bakery(models.Model):
town = models.CharField()
Class Cake(models.Model):
bakery = models.ForeignKey(Bakery, related_name="cakes")
baked_at = models.DateTimeField()
is_chocolate = models.BooleanField()
我想做的事情是这样的:
bakeries_whose_latest_cake_was_chocolate = Bakery.objects \
.annotate(latest_cake=F('cakes__baked_at=Max(cakes__baked_at')) \
.filter(is_chocolate=True)