170 похожих чатов

Всем привет. Я понимаю, возможно вопрос глупый, но у меня

есть 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

2 ответов

28 просмотров

1) Вынеси все подсчеты в отдельные функции-хелперы в отдельный скрипт и импорти оттуда. Держать жирную бизнес-логику в моделях очень больно 2) Функции модели, который не принимают аргументы извне (get_total_cost, get_kg) сделай пропертями с помощью @property 3) Основной вопрос: sum([item.get_kg for item in order.items.all()])

Tim- Автор вопроса

Спасибо!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта