Проверяет понимание того, что базовая модель в Django ORM не обязательно связана с таблицей в базе данных, а может быть абстрактной.
В Django ORM модель — это класс Python, который наследуется от django.db.models.Model. По умолчанию каждая модель создает таблицу в базе данных. Однако базовая модель может быть абстрактной, если указать abstract = True в Meta-классе. В этом случае таблица для неё не создается, а поля и методы наследуются дочерними моделями.
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, а не для BaseModelАбстрактные базовые модели — мощный инструмент для организации кода в Django. Они позволяют избежать дублирования и упрощают поддержку, не создавая лишних таблиц в базе данных. Используйте их, когда нужно общее поведение для нескольких моделей.