Я пытаюсь разработать веб-приложение для хранения книг на основе Django. Я пытаюсь использовать систему учета двойной записи, поэтому мои модели:
- Счет
- имя
- date_created
- владелец
- opening_balance
- reconciled_balance
- FullTransaction
- HalfTransaction
- ForeignKey (FullTransaction)
- сумма
- debit_flag
- current_balance
- reconciled_flag
Мой вопрос состоит из нескольких частей: Откуда бизнес-логика, которая сохраняет FullTransaction и HalfTransaction, так как FullTransaction и HalfTransaction должны быть сохранены атомарно (или архитектура должна отличаться?). В учебнике по django нет большой бизнес-логики для решения подобных проблем, и я не уверен, что переопределение метода save для сохранения других объектов является правильным.
Кроме того, неуместно ли сохранять баланс как часть транзакции, поскольку требуется обновление всех новых транзакций, если старая была отредактирована или вставлена?