Создание модели Django для существующего представления базы данных/SQL?
-
20-09-2019 - |
Вопрос
Я вставил определение для представления в $ template_dir/sql/$ file file.sql. (Создайте или заменяйте представление) Поэтому каждый раз, когда я запускаю syncdb
, представления БД созданы.
Могу ли я создать в моделях.
Лучше ли просто использовать необработанные функции SQL от Python?
---РЕДАКТИРОВАТЬ---
Еще одна проблема, с которой у меня есть, в том, что у представления нет первичного ключа, но, кажется, Джанго предполагает, что будет его, потому что я получаю ошибку caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'")
Но у меня нет такого участника определено:
Class CurrentLeagues(models.Model):
League = models.ForeignKey(League)
class Meta:
managed = False
Поэтому я предполагаю, что Джанго разумно видит, что я не определяю первичный ключ в классе CurrentLeagues, поэтому Джанго предполагает, что есть один, который называется id
. Анкет Есть ли способ сказать Джанго, что нет первичного ключа (поскольку это на самом деле мнение), или это даже не моя проблема?
Решение
Видеть Недальнонированные модели
Вы определяете модель как обычно и добавляете managed = False
на мета -варианты:
class MyModel(models.Model):
...
class Meta:
managed = False
Другие советы
Попробуйте использовать Python Manage.py InspectDB или Python Manage.py InspectDB> models.py