2013-10-14 91 views
0

嘗試爲表單中的選擇字段編寫自定義驗證。在模板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 

不工作我也試圖讓網頁上的錯誤,我看到該值在頁面上。 索取信息POSTmyselect u'1'但當地瓦爾說value myselect <Myselect: First>任何幫助嗎?

回答

0

您需要在選擇不刺痛的數據值進行比較。

正如您已經指出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 
+0

我已經嘗試 '1' 和1,但沒有。 – Goran

+0

你試過'pdb' /'ipdb'看到什麼'self.cleaned_data'包含 – rockingskier

+0

我不知道如何 – Goran