2016-12-05 15 views
-1

Djangoに親オブジェクトに子オブジェクトを追加する方法はありますか?私は親を与えられた子を取り出す方法を知っていますが、私が行うことは、親に子を追加してテンプレートに表示できるようにすることです。私は親のリストを持っていて、各親は子どもと共にテンプレートに表示する必要があります。デフォルトでは、1対多リレーションシップの親オブジェクトに子への参照を格納できるモデルは表示されません。どんな助けもありがとう。ありがとう。Djangoで親を通して子どもにアクセスする

+0

をあなたがのForeignKeyを意味するか

child = Child(parent=p) child.save() 

それとも関係を使用して:あなたはこのように新しい子を追加することができます親と子供について言うときのオブジェクト? –

+0

質問が不完全で、必要なコードブロックを追加してください。 –

+0

"質問は不完全です"という意味が不明です。 – Foobar

答えて

1

あなたの問題が正しく理解できれば、ForeignKeyフィールドを使用してください。子モデルに追加するだけです。

class Child(models.Model): 
    parent = models.ForeignKey(Parent, related_name='children') 

異なる方法で親に子を追加できます。たとえば、ある親がpです。あなたが親を経由してそれらを得ることができ、子供を取得する必要がある場合は

child = Child() 
p.children.add(child) 

parent.children.all() 
+0

これを動作させるには、代入文を使ってparent.childrenを明示的に設定する必要がありますか?そうでなければ、一対一の関係を定義するだけでは動作しません。 – Foobar

+0

@Foobar私は自分の答えを更新しました。詳細はこちらhttps://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_one/ – neverwalkaloner

関連する問題