2

私は2つのモデルを持っています:

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 のフィールドではないと表示されます。どうすればこれを修正できますか?

どうもありがとう

4

2 に答える 2

2

メソッドのreturnステートメントがありません。fooまでに変更self.abs.all()してくださいreturn self.abs.all()

于 2013-01-19T14:26:16.670 に答える
-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()

これとその動作を確認します。

于 2013-01-19T17:03:43.250 に答える