Django
のModel.save()
は主キーが重複するときは、INSERT
でなくUPDATE
になる。
DBへの保存する列の主キーが重複するときの挙動を調べた。
Model.save()
は、同値の主キーが存在すると上書きするようだ。
今回は、django.db.utils.IntegrityError
をraiseしてほしい。
Model instance reference | Django documentation | Django
によると、そういうアルゴリズムになっているとのこと。 対処法は上ページの下方にある通り、
model.save(force_insert=True)
とすれば、django.db.utils.IntegrityError
をraiseしてくれる。
コメント