Model1有一个到Model2的ForeignKey.Model2对Model3有一个ForeignKey(Model3,null = True,blank = True).默认情况下,当我在Model1上使用select_related()时,由于null = True,因此未选择Model3.如何强制select_related()跟随具有null = True的foreign_key?
我能想到的唯一方法是明确选择这些外键:
model1s = Model1.objects.all().select_related('model2', 'model2__model3')
Run Code Online (Sandbox Code Playgroud)
这是唯一的方法吗?
ist*_*ble 15
是的,这就是你用null = True选择相关项目的方法.
直接来自select_related的文档:
您可以在传递给select_related的字段列表中引用任何ForeignKey或OneToOneField关系.这包括具有null = True的外键(与默认的select_related()调用不同).
您是否有理由需要采用不同的方式来执行此操作?如果没有,你已经把它弄好了.
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |