我有一个被定义为一个简单的模型:Django的表单验证失败的一个独特的领域
class Article(models.Model):
slug = models.SlugField(max_length=50, unique=True)
title = models.CharField(max_length=100, unique=False)
和形式:
class ArticleForm(ModelForm):
class Meta:
model = Article
这里的验证,当我试图更新现有的失败行:
if request.method == 'POST':
form = ArticleForm(request.POST)
if form.is_valid(): # POOF
form.save()
创建新条目是好的,但是,当我尝试更新这些字段,确认不再经过。
的“错误”属性一无所有,但我投进调试程序并在我看到这个Django的胆量深:
毛坯:“文章本无已存在”
所以它看起来像is_valid()在唯一值检查上失败,但我想要做的是更新该行。
我不能只是做:
form.save(force_update=True)
...因为形式将在验证失败。
这看起来很简单,但我无法弄清楚。
我正在运行的Django 1.0.2
什么嘎嘎叫着是BaseModelForm.validate_unique()这就是所谓的形式初始化。
请编辑和发布表单代码。 – Soviut 2009-02-08 21:50:24