Встречается на собеседованиях • сегодня
Где хранишь бизнес-логику в 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
интервью вопросы и ответы