我正在调试 Django(1.11.8)测试并观察奇怪的行为,当在调试器中停止并切换到Ipython
控制台输入时:
Model.objects.all()
返回非空Queryset
。但是,当相同的表达式分配给变量时,例如:
obj_qs = Model.objects.all()
然后obj_qs
为空Queryset。我希望这两个陈述都有相同的结果。我在测试设置中遗漏了哪些重要内容?我使用setUpTestData()
和setUp()
方法初始化测试对象。</ p>
答案 0 :(得分:0)
这种效果的简短解释是查询集是懒惰的。我在代码中对它进行评估之前检查Queryset
,这就是调试空查询集时的原因 - 向实际使用Queryset
的行前进几步,证明一切正常。