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

Что такое абстрактная модель в Django

Абстрактная модель в Django — это базовый класс модели, который не создаёт таблицу в БД, а служит шаблоном для других моделей. Она позволяет вынести общие поля и методы в родительский класс, избегая дублирования кода.

Ключевые особенности:

  • Указывается abstract = True в Meta-классе
  • Не создаёт миграций и таблицы в БД
  • Наследники получают все поля и методы родителя

Пример:

python
from django.db import models

class BaseModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

class Article(BaseModel):
    title = models.CharField(max_length=100)
    content = models.TextField()

# Article будет иметь поля created_at, updated_at, title, content

Используется для:

  • Общих полей (created_at, is_active и т.д.)
  • Повторяющихся методов
  • Стандартных настроек моделей
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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