Встречается на собеседованиях • сегодня

Что такое Django Fat Models

Django Fat Models — это подход, при котором основная бизнес-логика приложения выносится в модели, а не распределяется между views, forms или сервисными слоями. Это делает код более организованным и упрощает тестирование.

Преимущества:

  • Модели становятся единственным источником правды для данных.
  • Уменьшается дублирование кода.
  • Легче тестировать, так как логика сосредоточена в одном месте.

Пример:

python
from django.db import models

class Order(models.Model):
    customer = models.ForeignKey('Customer', on_delete=models.CASCADE)
    total = models.DecimalField(max_digits=10, decimal_places=2)
    is_paid = models.BooleanField(default=False)

    def mark_as_paid(self):
        self.is_paid = True
        self.save()

    def apply_discount(self, discount_percent):
        self.total *= (1 - discount_percent / 100)
        self.save()

Недостатки:

  • Модели могут стать слишком большими и сложными.
  • Нарушение принципа единой ответственности (SOLID).

Лучше сочетать Fat Models с другими паттернами, например, Service Layer, чтобы избежать перегруженности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы