0

考虑使用注释的模型和查询,例如 Django 文档中的以下示例:http: //docs.djangoproject.com/en/dev/topics/db/aggregation/

Publisher.objects.filter(book__rating__gt=3.0).annotate(num_books=Count('book'))

此查询的结果将仅包含与过滤器匹配的对象(即 book_rating 大于 3.0),并且这些对象已被注释。但是,如果我希望查询包含所有对象,但只注释与过滤器匹配的对象(或者例如用 0 注释它们)呢?或者这甚至可能吗?

4

1 回答 1

0

不,你不能这样做——因为这不是底层 SQL 的工作方式。

我唯一能想到的是做两个查询,一个带有过滤器/注释,一个没有,然后在 Python 中遍历它们,将注释附加到未过滤列表中的匹配对象。

于 2011-02-11T09:27:07.007 回答