2

私は2つのモデルを持っています。それらをオブジェクト A とオブジェクト B と呼びます。それらの設計は次のようになります。

class Foo(models.Model):
     name = models.CharField()

class Bar(models.Model):
     title = models.CharField()
     Foo= models.ForeignKey('myapp.Foo')

ここで、Foo のインスタンスを参照するすべての Bar オブジェクトを返すメソッドを Foo 内に作成するとします。どうすればいいですか?

class Foo(models.Model):
     name = models.CharField()
     def returnBars(self):
         ????
4

1 に答える 1

10

これは無料で入手できます:

http://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects

デフォルトでは、RELATEDCLASSNAME_set属性を介して関連アイテムにアクセスできる Manager にアクセスできます。

some_foo.bar_set.all()

related_nameまたは、引数を使用してForeignKey、逆のリレーションシップ Manager を保持する属性を指定できます。

class Foo(models.Model):
     name = models.CharField()

class Bar(models.Model):
     title = models.CharField()
     foo = models.ForeignKey(Foo, related_name='bars')

...

some_foo.bars.all()
于 2008-10-21T09:54:58.620 に答える