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

Можно ли создать модель у которой не будет таблицы в базе данных

Да, можно создать модель без таблицы в базе данных, используя Meta-класс с атрибутом managed = False. Это полезно для работы с представлениями (views), внешними таблицами или временными данными.

Пример с Django:

python
from django.db import models

class VirtualModel(models.Model):
name = models.CharField(max_length=100)

text
class Meta:
    managed = False  # Отключает создание таблицы
text

В SQLAlchemy:
```python
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

class VirtualModel(Base):
    __tablename__ = 'virtual_table'
    __table_args__ = {'info': {'is_view': True}}  # Для представлений
    id = Column(Integer, primary_key=True)

Нюансы:

  • Миграции не будут создавать/удалять таблицу.
  • Для работы с данными таблица должна существовать вручную.
  • Подходит для интеграции с legacy-системами или read-only операций.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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