1
Django 1.2.x可以正常工作,但是Django 1.3.1中存在問題,因爲我有驗證錯誤,說明所選選項不在列表中。 我有模型形式Django 1.3.1模式表單清理方法
型號:
class Cvet(models.Model):
...
template = models.ForeignKey(Predefinisan_tekst, blank=True, null=True, related_name='template')
...
形式:
class NoviCvetForm(forms.ModelForm):
class Meta:
model = Cvet
def clean(self):
super(NoviCvetForm, self).clean()
cleaned_data = self.cleaned_data
template = cleaned_data.get("template")
if template == '------':
cleaned_data["template"] = None
return cleaned_data
現在在Django模板template
是選擇字段和我手動創建<option selected="selected">------</option>
在列表中的第一個選項。因此,當表單在此字段中沒有用戶選擇時提交時,request.POST
將template
字段的值作爲------
發送給無效選項。我需要在clean
方法中將該字段的值更改爲無?
這對我來說看起來很好 - 你確定你有(a)重新啓動服務器(b)爲你的支票獲得了正確的值嗎?另外,如果你沒有調用超類的clean類型,可能值得檢查是否有區別。 – Marcin 2012-01-30 19:23:24
我試着也沒有'超(NoviCvetForm,self).clean()'但結果是一樣的。並且是服務器重新啓動並且值是'------'。 – Goran 2012-01-30 19:30:20