0

フォームの選択フィールドのカスタム検証を書き込もうとしています。テンプレート orm では次のように表示されます。

<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'ですが、Local vars は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 に答える