Встречается на 3% собеседований по Python
Где хранишь бизнес-логику в Django
В Django бизнес-логику рекомендуется хранить в:
- Моделях (models.py) - для логики, связанной с данными (валидация, вычисления, методы объектов).
- Менеджерах моделей - для сложных запросов к БД.
- Сервисных слоях (отдельные модули services/) - для сложной логики, не привязанной к моделям.
- Form/Serializer - для валидации входящих данных.
Пример в модели:
python
class Order(models.Model):
total = models.DecimalField(max_digits=10, decimal_places=2)
def apply_discount(self, percent):
if 0 < percent < 100:
self.total *= (1 - percent/100)
self.save()Сервисный слой (services/order.py):
python
def process_order_payment(order, payment_data):
if not order.is_paid:
# Логика оплаты
order.mark_as_paid()
send_receipt(order.user)Главное правило: избегать размещения логики во views.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы