从Django 1.2升级到1.4-更严格的表单验证?

从Django 1.2升级到1.4-更严格的表单验证?,django,forms,validation,upgrade,Django,Forms,Validation,Upgrade,我们目前正在尝试从Django 1.2升级到1.4,但我们遇到大量捕获的FieldError消息,抱怨表单中缺少字段,几乎就好像Django决定在升级时更加严格地验证表单一样 在1.3中添加了一个新的字段验证代码块,该代码块似乎是导致错误的原因,如果删除该代码块,则一切正常。删除此额外验证是否会产生严重后果 我们删除的代码是: opts.exclude, opts.widgets, formfield_callback) # make sure opts.fields doesn't s

我们目前正在尝试从Django 1.2升级到1.4,但我们遇到大量捕获的FieldError消息,抱怨表单中缺少字段,几乎就好像Django决定在升级时更加严格地验证表单一样

在1.3中添加了一个新的字段验证代码块,该代码块似乎是导致错误的原因,如果删除该代码块,则一切正常。删除此额外验证是否会产生严重后果

我们删除的代码是:

opts.exclude, opts.widgets, formfield_callback)
    # make sure opts.fields doesn't specify an invalid field
    none_model_fields = [k for k, v in fields.iteritems() if not v]
    missing_fields = set(none_model_fields) - \
                         set(declared_fields.keys())
    if missing_fields:
        message = 'Unknown field(s) (%s) specified for %s'
        message = message % (', '.join(missing_fields),
                             opts.model.__name__)
        raise FieldError(message)
这来自第207行附近的django/forms/models.py


很显然,错误是未知字段,而不是捕获字段错误,我很抱歉。

Django中没有捕获字段错误的消息,因此这是您自己的代码。请发布代码和错误。我会尽可能避免更改Django源代码。修复表单,而不是删除代码块,希望它不会产生任何严重后果。