为现有数据库/sql 视图创建 django 模型?

2024-04-29

我已在 $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(使用前将#替换为@)

为现有数据库/sql 视图创建 django 模型? 的相关文章

随机推荐