使用预取相关的多对多表没有多对多的字段

时间:2015-09-25 11:17:17

标签: python django

我正在使用Django 1.8。我有三张桌子。

A(models.Model):
    name = models.CharField(max_length=128)

B(models.Model):
    name = models.CharField(max_length=128)

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

是否可以使用预取相关的方法从AB获取所有A的相应行?可能是这样的:

A.objects.filter(name='abc').prefetch_related('AB')

1 个答案:

答案 0 :(得分:4)

您应该使用相关名称而不是类名本身。这样的事情会起到作用:

A.objects.filter(name='abc').prefetch_related('ab_set')