# /uri/one/{pk}/
class ModelOneView(generic.View):
def post(self, request, pk): # pk has the same value as below
Model.objects.filter(pk=pk).update(name=request.POST['name'])
return HttpResponse(status=200)
# /uri/two/{pk}/
class ModelTwoView(generic.View):
def post(self, request, pk): # pk has the same value as above
Model.objects.filter(pk=pk).update(bool_field=True)
return HttpResponse(status=200)
私はコードを単純化しましたが、基本的には、同じフィールド(同じフィールドではありません)で両方とも両方の変更を行う2つの異なるURIを持っています。 ここでの問題は、クライアントが基本的に同じ時間に両方を呼び出すことです。Djangoモデルのフィールドを同時に編集する
// script.js in my index.html
function notHealthyForDjango() {
callFirstURI();
callSecondURI();
}
ジャンゴもクライアントのいずれも任意の時点で、すべてのエラーを投げ、私はOK応答を受信します。しかし、私がcallFirstURI()を使って行った変更。決してデータベースに到達しない。しかし、私はcallSecondURI()をコメントアウトします。
function notHealthyForDjango() {
callFirstURI();
//callSecondURI();
}
ここで、最初のURIへの呼び出しは、意図したとおりに動作します。
どうすればこの問題を解決できますか? psql、Python 2.7、Django 1.9を使用しています。 どうすればモデルのフィールドを変更できますか?そのような衝突の危険はありませんか?私だけではなく、より好ましく私のクライアントのjavascriptの要求のタイミングの問題のためにサーバー側の解決策を見つけるしたいと思います
EDIT
。あなたは試してみたいことがあります
私の提案を試しましたか? – e4c5
すみませんが、私はまだ時間がありませんでした。私は今週末にこれに戻り、これが問題を解決するかどうかを見ていきます。非常に有望で、私はあなたの助けに本当に感謝しています!遅れて申し訳ありません。 – user3622167
それが働いたことを知ってうれしい。今日あなたの質問をupvoteすることはできません(投票のうち、明日行います) – e4c5