我想擺脫Django在ModelForm上代表外鍵的選擇輸入中添加的「-------------」選項ModelChoiceField,刪除空白選項
它是been answered您可以使用empty_label=none
選項,但我有一個ModelForm,而不是一個常規窗體,並且不允許覆蓋該字段。
我知道我可以覆蓋的ModelForm的__init__()
方法,以便使用
self.fields['my_foreign_key'].queryset = ....
修改ModelChoiceField的查詢集但這將是非常難看,因爲這發生在「主」了+10 foreign_keys模型,並有超過的ModelForm更多基於此模型
整個背景:
- 這些foreign_key點之一相同的一種模型:它們是特定的選擇列表,許多模型通過管理員來簡化它們的修改。
- 所有這些模型都通過一個「to_field = code」關係與主模型相關,基於一個包含三字母代碼的Charfield(嘿,不是我的錯,我不得不使用傳統的MS Access DB),這CharField有
blank=True, unique=True
選項,這樣我就可以,每個列表,創建一個"---No information yet---"
紀錄而言,你打賭,一個空值,而不是三個字母代碼...
目前情況:我得到一個有兩個「空白值」選擇的選擇輸入字段:django和我的一個接一個。 我只是錯過了「empty_label = none`選擇在這裏太...
我想你可以重新定義/覆蓋的領域。我這樣做將DateTime模型字段更改爲表單TimeField(並添加DateField的額外字段)。然後我重寫表單的clean()方法來組合日期和時間字段。 – 2011-01-15 08:07:20