print("Step 1",invs.count()) # -> 1000 # invs type: query
invs2 = invs.filter(field___fields2__fields3=i) # i type:int
print("Step 2",invs2.count()) # -> 40000
过滤函数返回的原点是否正常?
谢谢。
答案 0 :(得分:0)
是的,文档中的整个部分都是解释它的
Lookups that span relationships
在大绿色音符区域内,进一步低于"跨越多值关系"标题为
但是,与使用filter()时的行为不同,这不会基于满足这两个条件的条目限制博客。为了做到这一点,即选择所有不包含2008年发布的“Lennon”条目的博客,您需要进行两次查询:
答案 1 :(得分:0)
相关信息可在distinct()的说明中找到 引用:
返回在其SQL查询中使用SELECT DISTINCT的新QuerySet。这样可以消除查询结果中的重复行。
默认情况下,QuerySet不会消除重复的行。实际上,这很少是一个问题,因为像Blog.objects.all()这样的简单查询不会引入重复结果行的可能性。 但是,如果您的查询跨越多个表,则在评估QuerySet时可能会出现重复的结果。当您使用distinct()时。