2017-05-06 159 views
0

在Django我有兩個型號PostTag。我有一個ManyToManyField他們每個人都指向另一個。但是,當我添加新的Post並提供一些標記時,只有post -> tag關係記錄在數據庫中。我必須手動添加tag -> post關係。Django的許多一對多的關係對稱不同類型

有沒有辦法讓Django的自動做到這一點?

+2

使用它你爲什麼要在這兩種模式中定義的多到多場?這聽起來不對。你只需要在一個(可能是'Post'模型)上定義它,並且根據定義,這種關係是雙向的。 – solarissmoke

+1

啊我明白了。我沒有意識到我可以通過做tag.post_set.all()來查詢帖子。 – zrbecker

回答

1

您也可以參考在ManyToManyField使用related_name。它更清晰,更易於理解。

class Post(models.Model): 
    tag = models.ManyToManyField(Tag, related_name="post") 

那麼你通過 tag.post.all()