私はPython 3.5、Django 1.8およびPostgreSql 9.4を使用しています。モデルフォームのDjango行レベルロック
私は1つの編集方法を持っています。私はフォームをレンダリングしています。ユーザーがフォームを送信すると、そのフォームが更新されます。彼女は今、私は一人のユーザーが同時に何かを更新している場合は、前のトランザクションが成功したか、誰かが他のより良い提案があればしない限り、他のことができ、更新は何もできなくなりますようにそれに行レベルのロックを追加するコード
def edit_case(request, case_id):
case = get_object_or_404(Case, pk=case_id)
if request.method == 'POST':
data = request.POST.copy()
form = CaseEditForm(data, instance=case)
if form.is_valid():
res = form.save()
return HttpResponseRedirect(reverse("case_list"))
else:
form = CaseEditForm(instance=case)
variables = RequestContext(request, {
"form": form,
})
return render_to_response(
'sample/edit_case.html',
variables,
)
ですPessimistic Lockingを使用するのではなく、
私は約select_for_update
を知っているが、すべてのヘルプは本当に私は解決策を考え出したので、多くの研究の後