我知道Django quersets是懒惰的,我看到触发查询集的所有操作都被评估:
https://docs.djangoproject.com/en/1.10/ref/models/querysets/#when-querysets-are-evaluated
但是……如果我只是想验证我的代码是纯粹构建查询集内容但是不是在不经意间评估和命中我的数据库呢?在没有实际评估它的情况下,我可以用来验证它没有被评估的查询集对象上是否有任何属性?
对于其他查询集(计数,删除等),我不确定有一种简单的方法.也许看你的数据库日志,或者在DEBUG模式下运行并检查connection.queries,如下所述:https://docs.djangoproject.com/en/dev/faq/models/#how-can-i-see-the-raw-sql-queries-django-is-running