是否有选项可以创建一个外部连接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。 如您所见,第二个查询集是第一个查询集的子集。 问题是,我想返回表中的所有对象。 如果一个对象没有通过过滤器,我想在sum字段中显示0。 这就是我想要外连接的原因。
那是否足够清楚?
答案 0 :(得分:0)
我不知道我的头脑,但你可能会建立一个空模型,它是原始的代理并使用它。
https://docs.djangoproject.com/en/dev/topics/db/models/#proxy-models