Python 使用与预取相关的多对多表,而不使用多对多字段

Python 使用与预取相关的多对多表,而不使用多对多字段,python,django,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及其对应行

我正在使用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')

您应该使用相关名称,而不是类名本身。像这样的东西可以完成任务:

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

您应该使用相关名称,而不是类名本身。像这样的东西可以完成任务:

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

你能把你的问题翻过来吗
AB.objects.filter(a_uname='abc')…
你能翻转你的查询吗
AB.objects.filter(a_uname='abc')…
AttributeError:在预订对象上找不到'AB_set','AB_set'是一个无效的参数,无法预取与您相关的内容()。您是否用您的实际型号名称替换了
AB_set
?我用型号名称替换了AB-所有小写字母。您是否更改了与字段相关的名称?是的。我发现了我的错误。我用错了型号名称。代替
ab
我添加了
abs
:)AttributeError:在预订对象上找不到'ab_set',ab_set'是一个无效的参数,无法预回迁相关的()您是否将
ab_set
替换为您的实际型号名称?我将ab替换为我的型号名称-所有小写字母。您是否更改了与字段相关的名称?是的。我发现了我的错误。我用错了型号名称。我添加了
abs
,而不是
ab
:)