Django:select_related到表vs表的字段

时间:2017-09-14 05:51:26

标签: django django-models django-select-related

我有2个模特

class A(models.Model):
    val = models.IntegerField()

class B(models.Model):
    val2 = models.IntegerField()
    a = models.ForeignKey(A)

class C(models.Model):
    b = models.ForeignKey(B)
    val3 = models.IntegerField()

查询如何 -

C.objects.select_related('B').all()

比 -

更好
C.objects.select_related('B__val2').all()

如果不是如何优化查询?

1 个答案:

答案 0 :(得分:0)

尝试通过子模型的小写过滤器来过滤所需的模型

B.objects.filter(c__isnull=False)

在此处阅读更多内容lookups-that-span-relationships