我应该经常使用Django select_related和prefetch_related吗?

时间:2017-11-06 15:26:03

标签: python django

每次使用具有OneToMany关系的模型时,我是否应该经常使用Django select_related或prefetch_related?

如果我有多个外键。我可以这样使用吗?

class A(models.Model):
   pass

class B(models.Model):
   pass

class C(models.Model):
   a = models.ForeignKey(A)
   b = models.ForeignKey(B)

# example usage
for entry in C.objects.all().select_related('a').select_related('b'):
   pass

1 个答案:

答案 0 :(得分:2)

您也可以像这样使用它:

for entry in C.objects.select_related('a', 'b').all():
   pass

只有当你想要获得外键以便在另一种情况下使用它们进行操作时才应该使用它。