0
我想在選擇對象之前(在管理員之外)進行更改之前創建確認頁面。對象可以是不同的模型(但每次只有一個模型)。Django - 更改不同型號之前的確認頁面
這很像在刪除之前在管理中所做的操作。但管理代碼很複雜,我還沒有掌握如何在那裏完成。
首先,我有整體形式過濾不同的對象,然後我將查詢集傳遞到動作/確認頁面。我創建了一個形式工廠,這樣我可以根據不同的型號(如在另一個similiar問題在#1這裏看到的)定義不同的查詢集:
def action_factory(queryset):
''' Form factory that returns a form that allows user to change status on commissions (sale, lead or click)
'''
class _ActionForm(forms.Form):
items = forms.ModelMultipleChoiceField(queryset = queryset, widget=forms.HiddenInput())
actions = forms.ChoiceField(choices=(('A', 'Approve'), ('D' ,'Deny'), ('W' ,'Under review'), ('C' ,'Closed')))
return _ActionForm
,我在我的視圖中使用:
context['form']=action_factory(queryset)()
的問題在於,隱藏項目字段不會在html代碼中顯示。當我刪除HiddenInput小部件時,它會正確顯示錶單。
我不想顯示選擇字段,因爲可以有成千上萬的對象。我想要的就是「你想改變1000個對象的狀態」和一個彈出窗口和一個提交按鈕。看起來很簡單的問題,但我無法讓它工作。
如果有人有解決我目前的嘗試,我會很高興聽到他們如何做到這一點。如果有更清潔和更好的解決方案,情況會更好。