我已在 $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 没有主键(因为这实际上是一个视图),或者这不是我的问题?
See 非托管模型 http://docs.djangoproject.com/en/dev/ref/models/options/#django.db.models.Options.managed
您像往常一样定义模型并添加managed = False
到元选项:
class MyModel(models.Model):
...
class Meta:
managed = False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)