0

尝试为表单中的选择字段编写自定义验证。在模板形式中显示为:

<select id="id_myselect" name="myselect">
    <option value="" selected="selected">---------</option>
    <option value="1">First</option>
    <option value="2">Second</option>
</select>

表格.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>帮助吗?

4

1 回答 1

0

您需要比较选择的数据值而不是刺痛。

正如您所指出的那样,您需要与该值进行比较,而不是字符串表示形式myselectu'1'

class SubmitForm(forms.ModelForm):
    ...

    def clean_myselect(self):
        data=self.cleaned_data['myselect']
        if data == 1: # 1 not "First"
            do something
        return data
于 2013-10-14T12:00:35.503 回答