我在这里取了这个示例代码: Django ORM: Selecting related set
polls = Poll.objects.filter(category='foo') choices = Choice.objects.filter(poll__in=polls)
我的问题很简单:当您最终使用查询集时,您是否击中了数据库的两倍? choices ?
choices
它将是一个查询,但包含一个内部 SELECT ;如果要对此进行调试,可以使用 django-debug-toolbar 或者做一些类似的事情 print str(choices.query) 它将输出查询的原始SQL!
SELECT
print str(choices.query)