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

Что такое наследование моделей в Django

Наследование моделей в Django позволяет создавать новые модели на основе существующих, переиспользуя их поля и методы. Есть 3 типа наследования:

  1. Абстрактное наследование - родительская модель становится абстрактной (не создается таблица в БД), ее поля добавляются в дочерние модели.
python
class AbstractBase(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    
    class Meta:
        abstract = True

class Post(AbstractBase):
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)
  1. Прокси-модели - используют ту же таблицу, что и родитель, но могут изменять поведение (например, сортировку или методы).
python
class OrderedPost(Post):
    class Meta:
        proxy = True
        ordering = ['-created_at']
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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