LINUX.ORG.RU

История изменений

Исправление x3al, (текущая версия) :

В такой постановке задачи — в триггере в базе если у тебя джанга запущена в 2+ треда/процесса/что-там-у-gevent'а. Для распределённых баз, впрочем, это сложнее. Хотя можно тупо lock поставить.

EDIT: в общем случае — ловить ошибку со стороны твоей БД.

нам уже в классе формы надо прописывать валидацию? Но это уже дублирование кода.

Нет, это не дублирование.

Если хочется бизнес-логику именно в джанге — это часто делается либо в модели, либо в отдельном слое бизнес-логики, который транслирует реальные события (продажа товара) в абстрагированную от реального мира БД, где уже меняется текущее количество на складе, в лучших традициях domain-driven design, вплоть до CQRS.

Исходная версия x3al, :

В такой постановке задачи — в триггере в базе если у тебя джанга запущена в 2+ треда/процесса/что-там-у-gevent'а. Для распределённых баз, впрочем, это сложнее. Хотя можно тупо lock поставить.

нам уже в классе формы надо прописывать валидацию? Но это уже дублирование кода.

Нет, это не дублирование.

Если хочется бизнес-логику именно в джанге — это часто делается либо в модели, либо в отдельном слое бизнес-логики, который транслирует реальные события (продажа товара) в абстрагированную от реального мира БД, где уже меняется текущее количество на складе, в лучших традициях domain-driven design, вплоть до CQRS.