Model1 有一个到 Model2 的外键。而 Model2 对 Model3 有一个 ForeignKey(Model3, null=True, blank=True)。默认情况下,当我在 Model1 上使用 select_related() 时,由于 null=True 而不选择 Model3。如何强制 select_related() 跟随具有 null=True 的外键?
我能想到的唯一方法是明确选择这些外键:
model1s = Model1.objects.all().select_related('model2', 'model2__model3')
这是唯一的方法吗?
最佳答案
是的,这就是您选择 null=True 的相关项目的方式。
直接来自 docs for select_related :
You can refer to any ForeignKey or OneToOneField relation in the list of fields passed to select_related. Ths includes foreign keys that have null=True (unlike the default select_related() call).
您是否有理由需要以不同的方式来执行此操作?如果没有,你已经拥有它了。
关于django - 如何强制 select_related() 选择具有 null=True 属性的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380130/