Управление транзакциями Django среди различных http-запросов
Я работал над бэкэндом DJANGO, основным вариантом использования которого была бы возможность хранить данный набор изображений с соответствующими тегами.
В текущем проекте предусмотрены специальные API-интерфейсы REST для создания нового набора, добавления изображения к данному набору и привязки тегов к данному набору: это приводит к различным вызовам клиента.
Например:
НАЧАТЬ транзакцию "создать новый набор"
- создать новый набор и получить идентификатор набора
- загрузить первую картинку из набора
- загрузить второе изображение из набора (и так далее в зависимости от общего количества изображений...)
- Добавьте теги, связанные с этим недавно добавленным набором
КОНЕЦ транзакции
Как я могу зафиксировать / откатить такую транзакцию, зная, что она разделена между различными HTTP-запросами?
У меня есть проблема дизайна здесь? Должен ли я предпочесть единственный кумулятивный подход к HTTP-запросу?
Пожалуйста, примите во внимание, что такой бэкэнд должен использоваться с мобильными устройствами, которые могут страдать от временной потери сигнала.
Любой совет приветствуется.
ОБНОВИТЬ:
Было бы удобно использовать пакеты управления версиями модели, такие как django-revisions, для решения проблемы?