私のモデル:
class Order(models.Model):
property_a = models.CharField()
property_b = models.CharField()
property_c = models.CharField()
多くのユーザーが管理者変更ページを介して短時間で特定のレコードにアクセスするため、同時実行の問題が発生しています。
ユーザー 1 と 2 が同時に変更ページを開きます。ページをロードするときにすべての値が空白であると想定します。ユーザー 1 は、property_a を「a」に、property_b を「b」に設定して保存します。1 秒後にユーザー 2 がプロパティ b を変更して c を保存すると、ユーザー 1 のすべての値が静かに上書きされます。この場合、property_a は空白に戻り、b と c はユーザー 2 が入力したものになります。
これを処理する方法についての推奨事項が必要です。モデルにバージョン フィールドが必要な場合、それを管理者に渡すにはどうすればよいですか? 別のユーザーがレコードを変更したために変更を保存できないことをユーザーにエレガントに通知できるようにするには、どこでチェックを行えばよいでしょうか? ユーザーにエラーを返すよりシームレスな方法はありますか?