假设我有两张桌子“Publisher”和“Book”。书籍通过外键与出版商相关。为了能够从出版商处获得图书,图书模型中有一个相关的“book”。如何根据另一个字段(如图书价格)将特定图书的日期批注到对出版商的查询中?
我心里想的是:

Publisher.objects.annotate(
     particular_date = F('Book__date' for which the price=150$)
).all()

我希望我能实现这个想法。

最佳答案

对于复杂的注释,您还需要指定注释名称,因此在我看来如下所示:

Publisher.objects.filter(Book__price=150).\
     annotate(particular_date = F('Book__date')).all()

07-24 19:08
查看更多