Django - 访问自定义模型函数中的相关模型

时间:2013-01-19 13:48:33

标签: python django django-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() ...

我想在ModelB的foo方法中访问ManyToMany关系中的所有ModelA - 我使用上面的方法尝试了这个但是它说'abs'不是ModelB的一个字段。我该如何解决这个问题?

非常感谢

2 个答案:

答案 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()

我检查了这个及其工作。