在今天之前,我一直在使用 Django 1.1。为了确保与时俱进,我决定更新我的 Django 环境以使用 Django 1.2.3。不幸的是,我遇到了一个问题。
以下代码在 1.1 中没有引发 ValueError:
instance = FormClass(
request.POST,
instance=existing_instance
).save(commit=False)
但是,现在我已经升级了,它每次都会引发一个 ValueError 。我有一个 SSN 字段,作为表单的一部分提交,我在调用 instance.save() 之前去掉了破折号。不幸的是,发生 ValueError 是因为 Django 认为我的 SSN 值太长(它需要 9 个字符并且它接收到 11 -- 123-45-6789)。
我查看了 Django 文档,但找不到与此更改相关的任何内容。知道发生了什么吗?我一直认为“commit=False”参数的目的是允许在保存信息之前对数据进行预处理。
我错过了什么吗?