今日まで、私は Django 1.1 を使用してきました。時代に遅れないようにするために、Django 1.2.3 を使用するように Django 環境を更新することにしました。残念ながら、問題が発生しました。
次のコードは、1.1 では ValueError を発生させませんでした:
instance = FormClass(
request.POST,
instance=existing_instance
).save(commit=False)
ただし、アップグレードしたので、毎回 ValueError が発生します。フォームの一部として送信する SSN フィールドがあり、instance.save() 呼び出しを行う前にダッシュを取り除きます。残念ながら、Django が私の SSN 値が長すぎると判断したため、ValueError が発生します (9 文字が必要で、11 -- 123-45-6789 を受信しています)。
Django のドキュメントを調べましたが、この変更に関連するものは見つかりませんでした。何が起こっているのか分かりますか?「commit=False」パラメータの目的は、情報を保存する前にデータを前処理できるようにすることだといつも思っていました。
何か不足していますか?