尝试为表单中的选择字段编写自定义验证。在模板orm中显示为:
<select id="id_myselect" name="myselect">
<option value="" selected="selected">---------</option>
<option value="1">First</option>
<option value="2">Second</option>
</select>
forms.py
class SubmitForm(forms.ModelForm):
...
def clean_myselect(self):
data=self.cleaned_data['myselect']
if data == 'First':
do something
return data
不起作用我也试图在页面上出错,我看到页面上有值。
请求信息 POST myselect u'1'
但是本地代表说value myselect <Myselect: First>
有任何帮助吗?
答案 0 :(得分:0)
您需要比较选择的数据值而不是sting。
正如您已指出myselect
的值为u'1'
所以您需要与之比较,而不是字符串表示。
class SubmitForm(forms.ModelForm):
...
def clean_myselect(self):
data=self.cleaned_data['myselect']
if data == 1: # 1 not "First"
do something
return data