Встречается на собеседованиях • сегодня
Как работает наследование в моделях
Наследование в моделях Django позволяет создавать иерархии классов, переиспользуя поля и методы родительских моделей. Есть три основных подхода:
- Абстрактные модели (abstract=True) – родительский класс не создаёт таблицу в БД, его поля добавляются в таблицы дочерних моделей.
python
class BaseModel(models.Model): created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)
text
class Meta:
abstract = Trueclass Article(BaseModel):
title = models.CharField(max_length=100)
text
2. **Многотабличное наследование** – создаются отдельные таблицы для родителя и потомков с автоматической связью OneToOne.
```python
class Place(models.Model):
name = models.CharField(max_length=50)
class Restaurant(Place):
serves_pizza = models.BooleanField(default=False)- Прокси-модели (proxy=True) – работают с той же таблицей, что и родитель, но могут менять поведение (например, сортировку или методы).
python
class OrderedArticle(Article): class Meta: proxy = True ordering = ['-created_at']
Ключевые различия: абстрактные модели объединяют поля в одной таблице, многотабличные создают связи, прокси-модели не добавляют полей.

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