我有两种模式:
class ModelA(models.Model):
b = models.ManyToManyField(ModelB, related_name = 'abs')
class ModelB(models.Model):
x = models.IntegerField()
def foo(self):
self.abs.all() ...
我想在ModelB的foo方法中访问ManyToMany关系中的所有ModelA - 我使用上面的方法尝试了这个但是它说'abs'不是ModelB的一个字段。我该如何解决这个问题?
非常感谢
答案 0 :(得分:2)
您错过return
方法的foo
语句。请按self.abs.all()
更改return self.abs.all()
。
答案 1 :(得分:-2)
您需要的只是:
class ModelA(models.Model):
class Meta:
app_label = 'app'
b = models.ManyToManyField(ModelB, related_name='abs')
class ModelB(models.Model):
class Meta:
app_label = 'app'
x = models.IntegerField()
def foo(self):
return self.abs.all()
我检查了这个及其工作。