我有一个使用PostgreSQL数据库的Django1.8应用程序,我从命令行运行djangoinspectdb来检查模型中的视图,但是视图没有显示在模型输出中。
下面是版本输出:
17:36 $ python well/manage.py --version
1.8.2
下面是psql看到的内容:
\dv
List of relations
Schema | Name | Type | Owner
--------+-------------------------------+------+---------
public | hospitalizations_over_30_days | view | dwatson
public | interval_30_days | view | dwatson
(2 rows)
来自django 1.8.2文档:
New in Django 1.8:
A feature to inspect database views was added. In previous versions, only tables (not views) were inspected.
型
如何让PostgreSQL视图出现在Django 1.8.2 inspectdb的输出中?
3条答案
按热度按时间0aydgbwb1#
从Django 1.10开始,您可以简单地将单个视图命名为
inspectdb
命令的参数:默认的
inspectdb
将只输出models.py表的www.example.com,但是视图的模型可以通过命名单独生成。在Django2.1及以上版本中,如果你想让
inspectdb
为所有表 * 和 * 视图生成模型,use theinspectdb --include-views
选项,我contributed to Django 2.1作为这个问题的结果!要在Django 2.0及以下版本中为表和视图生成模型,您必须编辑Django源代码。在Django 2.0中,将
django/core/management/commands/inspectdb.py
中的第57行修改为:型
请注意,生成的模型将不包含设置为
primary_key=True
的字段,您需要手动添加主键。btxsgosb2#
在最新版本中,有一个选项可通过将视图传递给命令来包括视图,如下所示(将检查表和视图):
fnvucqvd3#
我是一个初学者,不知道它是否增加更多的价值.仍然作为一个扩展的答案.一旦我们建立了settings.py,如果我们有多个模式,只是需要特定的视图.
可能对初学者有帮助。