0

是否可以选择创建一个外部连接 2 个没有原始 sql 的查询集的查询集?

我有一个查询集命中 1 个表 -

queryset1 = Model1.objects.all()

我有另一个查询集命中同一个表并进行一些聚合 -

queryset2 = Model1.objects.filter(relatedField__days__range=(2013-05-11, 2013-05-13)).annotate(s1=Sum(relatedField__field1), s2=Sum(relatedField__field2))

我想在没有原始 sql 的情况下将第一个查询集与第二个查询集左外连接。如您所见,第二个查询集是第一个查询集的子集。问题是,我想返回表中的所有对象。如果一个对象没有通过过滤器,我想在总和字段中显示 0。这就是我想要外部加入的原因。

够清楚吗?

4

1 回答 1

0

我不知道我的头,但你可能会建立一个空模型作为原始模型的代理并使用它。

https://docs.djangoproject.com/en/dev/topics/db/models/#proxy-models

于 2013-06-05T08:03:59.033 回答