Я вставил определение для представления в файле $template_dir/sql/$someTableName.sql. (создайте или замените представление), так каждый раз я работаю syncdb
, представления дб создаются.
Я могу создать в models.py класс Python который доступы то представление?
Это - лучшая практика, чтобы просто использовать сырые данные Python sql функциональность вместо этого?
Править---
Другая проблема, которую я имею, состоит в том, что представление не имеет первичного ключа, но django, кажется, предполагает, что будет тот, потому что я получаю ошибку 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
Таким образом, мое предположение - то, что django обоснованно видит, что я не определяю первичный ключ в классе CurrentLeagues, таким образом, Django предполагает, что существует названный тот id
. Существует ли способ сказать Django, что нет никакого первичного ключа (так как это - на самом деле представление), или не это даже моя проблема?
Вы определяете модель как обычно и добавляете managed = False
в мета-параметры:
class MyModel(models.Model):
...
class Meta:
managed = False