[英]Django - accessing related models in custom model function
I have two models: 我有两个模型:
class ModelA(models.Model):
b = models.ManyToManyField(ModelB, related_name = 'abs')
class ModelB(models.Model):
x = models.IntegerField()
def foo(self):
self.abs.all() ...
I would like to access in the foo method of ModelB all the ModelA's in the ManyToMany relationship - I have tried this using the above but it says that 'abs' is not a field of ModelB. 我想在ModelB的foo方法中访问ManyToMany关系中的所有ModelA-我已经使用上面的方法进行了尝试,但是它说“ abs”不是ModelB的字段。 How can I fix this?
我怎样才能解决这个问题?
Many thanks 非常感谢
You are missing the return
statement at foo
method. 您缺少
foo
方法的return
语句。 Please change self.abs.all()
by return self.abs.all()
. 请通过
return self.abs.all()
更改self.abs.all()
return self.abs.all()
。
All what you need is: 您需要的是:
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()
I check this and its work. 我检查了它及其工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.