Могу ли я использовать представление базы данных в качестве модели в Django?

Начиная с Django 1.1, для django-migrations этого можно использовать django-migrations Options.managed.

Для более старых версий django вы можете легко определить django-syncdb класс модели для представления django-syncdb и использовать его, как и django-migrations другие ваши представления. Я django-syncdb только что протестировал django-syncdb его с помощью приложения django-syncdb на основе Sqlite, и, похоже, он django работает нормально. Просто django-syncdb не забудьте добавить поле django-syncdb первичного ключа, если столбец django-syncdb «первичный ключ» вашего представления django-syncdb не назван «id», и укажите django-migrations имя представления в параметрах django-migrations Meta, если ваше представление django-syncdb не называется «app_classname».

Единственная django-syncdb проблема заключается в том, что django-migrations команда syncdb вызовет исключение, поскольку django-syncdb Django попытается создать django-migrations таблицу. Вы можете предотвратить django-migrations это, определив «модели представления» в django-migrations отдельном файле Python, отличном django от models.py. Таким образом, Django django-syncdb не увидит их при интроспекции django-migrations models.py для определения django-syncdb моделей, которые нужно создать django-syncdb для приложения, и поэтому django-migrations не будет пытаться создать django таблицу.

django

django-migrations

django-syncdb

2022-06-19T12:23:58+00:00
Вопросы с похожей тематикой, как у вопроса:

Могу ли я использовать представление базы данных в качестве модели в Django?