Есть ли какой-нибудь простой способ / библиотека / внешнее приложение, чтобы представить концепцию Unit of Work в Django ORM?Какие подходы или методы вы используете, чтобы решить проблему импорта одной и той же строки дважды в сложной установке модели без потери всей модульности?
РЕДАКТИРОВАТЬ
Пример
Рассмотрим следующую примерную ситуацию - существует модель Location
, которая имеет отношение к себе, называемая маршрутом через дополнительную модель Route
.Теперь предположим, что у каждого Route
есть атрибуты: entry_fare
(сумма денег, которую нужно заплатить, чтобы войти в маршрут) и exit_fare
(сумма денег, которую вы должны заплатить, чтобы выйти из маршрута на другом конце),Теперь предположим, что вы хотите реализовать действие по увеличению entry_fares
и увеличению exit_fares
.Вы также хотите иметь возможность рассчитать общую сумму тарифов для данного города.Возможно, вы захотите выполнить ряд таких действий внутри одной транзакции.Чтение (вычисление суммы) происходит гораздо чаще, чем запись (увеличение платы за проезд).
В простой реализации вам потребуется загружать новый набор моделей каждый раз, когда вы хотите вычислить сумму, - чтобы обеспечитьнет устаревших данных.Кроме того, расширение будет работать с новым набором моделей каждый раз и сохранять экземпляры сразу после увеличения тарифа, чтобы гарантировать, что дальнейшие выборки из базы данных будут включать новые значения тарифа.
Помните, это должно служитьпример.