2013-07-03 57 views
1

我試圖在繼承StackedInline的類中顯示不同的字段,具體取決於它是新的還是現有的實例(即添加或更改表單)。我知道在類繼承ModelAdmin我可以覆蓋 get_form方法來實現這一點,如描述here。看看django docs它不會說 get_formInlineModelAdmin選項下的共享功能。那麼有沒有辦法讓我顯示不同的領域來添加和更改內聯?我是新手。任何幫助是極大的讚賞。是否有一個與InlineModelAdmin等效的get_form方法?

回答

0

因爲那些工作與formset。改爲改寫get_formset

+0

單擊_add_調用'get_formset'。我嘗試在'get_formset'內部進行日誌記錄,它只在加載頁面時記錄現有的內聯。有關如何更改_add_上顯示的字段的任何想法? – robert

+0

檢查內聯窗體集HTML。您將看到formset的隱藏形式具有prefix =「__ prefix__」,它被克隆,並且在單擊* add *時替換前綴。 'get_formset'不需要再次調用。 要更改現有對象的字段,應該在返回formset之前更改'formset.forms'中具有'.instance.pk'的ModelForm實例。 – jpic

+0

你會不會碰巧有一些僞代碼示例或代碼示例只是躺在你身邊?請... – robert

相關問題