我有以下型號:Django admin:我如何將不相關的模型字段添加到模型更改/添加頁面?
class Foo(models.Model):
field1 = models.IntegerField()
...
class Bar(models.Model):
field1 = models.IntegerField()
...
class Foo_bar(models.Model):
foo = models.ForeignKey(Foo)
bar = models.ForeignKey(Bar)
...
在管理,我想它,以便在富變化/添加頁面,你可以指定一個Bar對象,並保存我想創建一個foo_bar這樣的名稱對象代表關係。我如何通過自定義管理網站/ ModelAdmins來做到這一點?請注意,內聯並不是我所需要的,因爲foo和bar之間沒有明確的外鍵關係。其次,我實際上並不想編輯欄對象,我只想從系統中選擇。
謝謝。
謝謝!如果我在Bar中聲明ManyToManyField,是否可以將它顯示在Foo中? – Neil 2010-05-18 00:24:04
這就是'related_name'參數的全部內容。使用我的例子,每個'Foo'對象都有一個'bars'字段,它是M2M,並且每個'Bar'對象都有一個'foos'字段,它是反向關係。所以,你把'ManyToManyField'放入哪一個並不重要;你會自動獲得兩個方向。只是不要把它放在兩個模型中,否則會嘲笑你。 – 2010-05-18 02:47:32
同時檢查'ForeignKey'文檔中描述的'limit_choices_to'參數,以便保持列表大小不變。還有一件事:在管理員中,關係只出現在管理員爲聲明「ManyToManyField」的模型中。 – 2010-05-18 02:50:33