Встречается на собеседованиях • сегодня
В Django есть абстрактные модели, полиморфизм, инстансы — как ты проектировал и работал с подобными моделями
Абстрактные модели в Django использую для вынесения общих полей и методов в базовый класс, который не создает таблицу в БД. Например:
python
class BaseModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class Post(BaseModel):
title = models.CharField(max_length=100)
text
Для полиморфизма применяю `django-polymorphic` или `ContentType`. Пример с polymorphic:
```python
from polymorphic.models import PolymorphicModel
class Animal(PolymorphicModel):
name = models.CharField(max_length=100)
class Dog(Animal):
bark = models.CharField(max_length=100)
class Cat(Animal):
meow = models.CharField(max_length=100)Инстансы работают стандартно, но с учетом полиморфизма. Например, Animal.objects.all() вернет объекты всех подклассов. Для абстрактных моделей важно не пытаться создавать их инстансы напрямую.

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