0
我有一個模型讓我可以選擇一些預定義的值。Django替換ModelForm Widget中的選項值
in models.py
class Customer(models.Model):
GENDER = (('m' , 'Male') , ('f' , 'Female'))
PersonGender = models.CharField(max_length=20,choices=GENDER)
和我有一個的ModelForm來處理我的形式,它的確定,但我想定義另一個的ModelForm更改某些原因「性別」的值。
我定義forms.py
GENDER = (('male' , 'Male'), ('female' , 'Female'))
class MySecondaryForm(forms.ModelForm):
class Meta:
model = Customer
fields = '__all__'
widgets = {
'PersonGender': forms.Select(choices=GENDER)
}
其他的ModelForm此配置下拉菜單無法更改新值。
我可以用下面的配置修正:
GENDER = (('male' , 'Male'), ('female' , 'Female'))
class MySecondaryForm(forms.ModelForm):
PersonGender = forms.ChoiceField(choices=GENDER)
class Meta:
model = Customer
fields = '__all__'
與上述配置下拉值更改爲我的新的,但我想知道我可以改變它的元類中的「小部件」?
,我想重寫此forms.py和Meta widgets屬性中。 – Arash
看到修改的答案 – mbieren
是的,我知道我可以通過「def」方法和另一種方式來代替問題中提到的值,但我想知道在Meta類中定義小部件的方法,它保留其他在模型中定義的元素,如所需的或幫助文本或.... – Arash