我在这里拿了这个示例代码:Django ORM:选择相关集
polls = Poll.objects.filter(category='foo')
choices = Choice.objects.filter(poll__in=polls)
我的问题很简单:当您最终使用查询集时,您是否两次访问数据库choices
?
我在这里拿了这个示例代码: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 的操作!