我可以在Django中将数据库视图用作模型吗?

就像许多答案所建议的一样,你可以在数据库中创建自己的视图,然后通过在models.py中定义它来在API中使用它。

一些警告:

  • manage.py syncdb将不再起作用
  • 视图的名称开头需要与所有其他模型(表)相同的事物,例如,如果你的应用程序被称为“事物”,则你的视图将需要被命名为Thing_ $ viewname

回答:

Django 1.1开始,你可以使用Options.managed。

对于较旧的版本,你可以轻松地为视图定义Model类,并像其他视图一样使用它。我刚刚使用基于Sqlite的应用程序对其进行了测试,并且看起来工作正常。如果你的视图的“主键”列未命名为“ id”,请确保添加主键字段;如果你的视图未命名为“ app_classname”,则请在“元”选项中指定该视图的名称。

唯一的问题是,由于Django将尝试创建表,因此“ syncdb”命令将引发异常。你可以通过在单独的Python文件(而不是models.py)中定义“视图模型”来防止这种情况。这样,Django在自检models.py以确定要为应用程序创建的模型时将看不到它们,因此不会尝试创建表。

以上是 我可以在Django中将数据库视图用作模型吗? 的全部内容, 来源链接: utcz.com/qa/415101.html

回到顶部