# /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)
Я упростил свой код немного, но в основном то, что я делаю, что у меня есть два разных URI, что и некоторые изменения на той же самой модели (не то же самое поле, хотя). Проблема в том, что мой клиент вызывает их в основном в одно и то же время.Джанго Редактирование модели одновременно
// script.js in my index.html
function notHealthyForDjango() {
callFirstURI();
callSecondURI();
}
Ни Django, ни Client не бросают какие-либо ошибки в какой-либо момент, я получаю ответы OK. Однако изменения, которые я пытаюсь сделать с вызовомFirstURI(); никогда не попадайте в базу данных. Но когда я прокомментирую callSecondURI();
function notHealthyForDjango() {
callFirstURI();
//callSecondURI();
}
Теперь звонок в первый URI работает по назначению!
Как я могу решить эту проблему? Я использую psql, Python 2.7 и Django 1.9. Как изменить поля моих моделей без риска таких столкновений?
EDIT
Я хотел бы найти на стороне сервера решение проблемы, а не только временные JavaScript запросы моего клиента более благоприятно.
Вы попробовали мое предложение? – e4c5
Прости, что у меня еще не было времени. Я вернусь к этому позже на этой неделе и посмотрю, разрешит ли это проблему. Это кажется очень многообещающим, и я очень ценю вашу помощь! Я прошу прощения за задержку. – user3622167
Рад, что это сработало. Невозможно повысить свой вопрос сегодня (из голосов, сделайте завтра) – e4c5