есть 2 модели. Order и OrderItem. Order - заказ, OrderItem - товар заказа.
Вопрос такой: у меня есть метод get_total_cost в модели Order, который считает итоговую сумму заказа, вместе со скидкой и суммой за посылку. Дело в том, что также, у меня есть метод get_kg в модели OrderItem, который считает сумму за каждый килограмм товара. Как мне перенести этот метод get_kg в модель Order, чтобы итоговая цена get_total_cost считала и цену за килограмм (get_kg)?
Грубо говоря хочу так:
parcel = 35 + get_kg
https://dpaste.org/9fTg#L53,59,73
1) Вынеси все подсчеты в отдельные функции-хелперы в отдельный скрипт и импорти оттуда. Держать жирную бизнес-логику в моделях очень больно 2) Функции модели, который не принимают аргументы извне (get_total_cost, get_kg) сделай пропертями с помощью @property 3) Основной вопрос: sum([item.get_kg for item in order.items.all()])
Спасибо!
Обсуждают сегодня