我仍然堅持在同一頁面上使用相關模型的內聯樹樣式。 我有三個型號,A,B和CDjango:使用inlineformset對相關模型進行內聯編輯
Class A
Class B
fb = foreignkey(A)
Class C
fc = foreignkey(B)
在admin.py我做這樣的事情
AdminA
inlines = [inlineB]
AdminB
inlines = [inlineC]
我想,當我編輯/添加模型A,I應該能夠在線添加ModelB,並添加模型B的相關模型C條目。我正在嘗試使用inlineformsets,但無法找到如何將它們用於我的目的。此外,我發現this old discussion on same problem。但是,再次,因爲我是新來的Django,我不知道如何使它工作。
_What的添加頁面你真的到目前爲止試試嗎?_你做了一個相關的問題12小時前,其中你說模型B僅僅定義了A和C之間的關係。我曾經與django-tagging中的模型有類似的設置,它基本上使用'TaggedItem'的'GenericInlineAdminForm'工作,它也主要定義標籤,標籤對象和內容類型之間的關係。但是,如果您僅指出相當抽象的問題,則無法期望在此得到有用的答案。 – 2010-10-07 13:39:23
12小時前,是B是抽象類。但沒有更長的時間,我對班上做了一些改變。早些時候,我希望找到一些內置的解決方案,比如如果你想創建一個foreginkey對象就會出現的彈出窗口。現在我正在嘗試創建一個inlineformset類型的結構。所以在Inline行中,我希望除了B的字段外,我還能夠添加C類對象的實例。所以尋找一個使用模型,inlineformsets等自定義的formset解決方案。事實上,我的問題是完全一樣的,我提到的鏈接。你可以填寫我的解決方案的細節嗎? – Neo 2010-10-07 13:53:04
請查看http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#inlinemodeladmin-objects。如果您爲模型B定義了InlineAdminForm,例如派生自admin.TabularInline,你應該得到一個表單顯示,它提供了** + ** - 按鈕,它們可以讓你在彈出窗口中創建C的實例。如果這不起作用,請檢查您的外鍵。您鏈接的問題基本上對您的問題有合理的答案。 – 2010-10-07 14:34:06