我在这里获取了这个示例代码:Django ORM:选择相关集
polls = Poll.objects.filter(category='foo')
choices = Choice.objects.filter(poll__in=polls)
我的问题很简单:当您最终使用查询集时,您是否会访问数据库两次choices
?
这将是一个查询,但包含一个内部SELECT
; 如果你想对此进行一些调试,你可以使用奇妙的django-debug-toolbar,或者执行类似的操作print str(choices.query)
,它将输出查询的原始 sql!
哦是的...我听说过一两次这个.query,但我总是忘记...谢谢你的回答!