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