问题标签 [inspectdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - KeyError:在 Django 中运行 inspectdb 时出现“force_color”错误
我正在尝试在 Django 中排除某些表来执行检查命令我发现了这个问题:How do I inspectdb 1 table from database which contains 1000 tables similar to mine 但问题是当我运行相同的代码时我得到一个奇怪的错误 script.py
错误:
django - 为 POSTGIS DB 运行 inspectdb 后,python manage.py runserver 给出错误(Django-2.2)
运行: python manage.py inspectdb --database=geoserver > map/models.py
之后: python manage.py runserver
给出以下错误:
在线程 Thread-1 中使用 StatReloader Exception 监视文件更改:
回溯(最近一次通话最后):
注意:如果您遇到同样的问题,请尝试我在答案部分给出的方法,它也可能对您有用。
python - Django:无法检查数据库表到文件
我有一个包含大约 25 个表的数据库,我想为我的 python 项目自动生成模型文件。为了开发项目,我使用 PyCharm 和 MariaDB 作为 RDMS。
数据库的基本设置已经完成。在下一步中,我切换到 manage.py 控制台以运行第一个命令:
这工作正常。每个表都将在控制台窗口的输出中列出。现在我想将输出写入文件。因此我使用以下命令:
这最终导致错误:
该命令根据文档“python manage.py inspectdb > model.py”。但在这种情况下,'>' 符号将被解释为表,或者必须给出表名。
在第二种情况下,我尝试只导出一个表:
最终得到以下输出:
这里同样的问题!在这种情况下,会生成模型用户,但不会将其写入 models.py 文件。我该怎么做才能将生成的模型保存到我的 models.py 文件中?
django - Django inspectdb 不尊重两列的主键(postgres)
我正在使用 Django 连接到现有的 Postgres 数据库,使用 inspectdb 生成我的 models.py 文件。Postgres 中的表是这样创建的:
然后我运行python manage.py inspectdb --database primary > models_test.py
,结果如下models_test.py。
请注意在 上定义的 OneToOneField aid
。
如果我改为将表 b 创建为:
然后重新运行 inspectdb 我得到以下输出:
注意 OneToOneField 现在是 on cid
。我怀疑这是一个错误,但我没有经验,所以想在报告之前在这里问一下。第二个问题:如果这是一个错误,是否值得报告?也许数据库设计很差或不常见?
python - Django 遗留数据库 inspectdb 从字段名称中删除“_id”后缀
我在 django 中为旧数据库使用 inspectdb 时遇到问题。我相信我的问题本质上与这里描述的相反:
我的数据库中的许多字段名称以“_id”结尾。在运行 inspectdb 时,那些以“_id”结尾并且也是 ForeignKeys 或 OneToOneFields 的字段将删除“_id”:
我可以通过将上述行更改为此来解决此问题:
问题是,每次为该数据库和其他数据库生成模型文件时,都需要手动更改数百个。我可以想出一个脚本来纠正这些问题,但我想有一些解决方法。
谢谢
mysql - “utf-8”编解码器无法解码位置 3 中的字节 0xe6:无效的继续字节
我正在编写 Django React 应用程序,并且我有一个庞大的现有数据库。我使用“inspectdb”命令创建了模型...
我的数据库有点旧,而且里面充满了克罗地亚语字符,因为它无法创建模型。
是否有任何代码行可以解决 Django 端这个字符集的完整问题?
django - django DB2 inspectdb 失败:'NoneType' 对象不可下标
我的开发环境位于 python 3.6 和 virtualenv(virtualenv 15.1.0) 中,并且具有以下依赖项:django 2.2 ibm-db 3.0.1 ibm-db-django 1.2.0.0
当我使用“(env_django2) λ python manage.py check”时,它返回“系统检查发现没有问题(0 静音)。” 这不是问题。
但是,当我使用“python manage.py inspectdb --database db2 DEMO.DEMOUSER”时,它返回如下:
这是我的 db2 设置:
我已经通过下面这样的编码对其进行了测试,这没有问题。
所以我的问题是如何使 inspectdb 工作?
我检查了inspectdb.py,我发现
func get_table_description 将包含以下代码:
看来我没有正确设置表和模式名称。
好吧,我要睡觉了,很累。
2020.3.13更新…………
所以当我阅读 ibm_db_django\introspection.py 中的代码时,我发现如下:
这意味着,ibm_db_django 将默认获取模式,这是您在 django 设置文件中设置的用户名。所以在我的例子中,它总是会设置像'db2inst1.DEMO.DEMOUSER'这样的表名。你不能自己改变架构。
据我所知,将模式设置为不可变是不合理的,因为模式和用户在 db2 中与 oracle 不同。每个人都可以使用授予的架构。
因此,我必须像这样更改代码,以便我可以正确设置我的架构:
所以问题已经解决了,但是,另一个出现了!当我输入命令“python manage.py inspectdb --database db2 DEMO.DEMOUSER”时,它显示如下:
检查inspectdb.py,我找到了答案。从 ibm_db_django 实现的 introspection.py 中的 func 返回的指定表的描述与 django 2.2 中的 inspectdb.py 不同。
所以用 django 发布历史和 ibm_db_ango 检查它。ibm_db_ango 1.2 于 2018.4.3 发布,django 2.2 于 2019.3 发布。
似乎 django 2.2 不支持 ibm_db_ango 1.2(最新版本)
因此我不得不安装 django 2.0。
终于成功了!!!
django - 我们如何将第三方数据库(特别是 MS Access)链接到 Django 以使用 inspectdb 实用程序?
我只想自动创建模型,还想使用 Django 的 inspectdb 实用程序对我的手动模型进行双重检查。但是,我想观察的数据库是 Microsoft Access,我不太清楚如何正确地做到这一点。有一个 django-pyodbc 但仅适用于 Django 1.4-1.10。关于将 Inspectdb 用于 Microsoft Access 数据库的任何想法?
python - Django DecimalField max_digits 和 decimal_places 未明确知道
我正在添加一个 Django 模型,其中有许多我想创建为 a 的字段DecimalField
,但我不知道这些列中的每一个的max_digits
or 。decimal_places
我正在使用 postgres 数据库;表结构来自 API 源并将由 API 源填充。
我能够为表获取 DDL,在空白的 postgres db 中创建表,并用于inspectdb
创建 Django 模型。
结果为所有DecimalField
列分配了:models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, null=True)
该模型包含约 170 个DecimalField
字段。关于我应该如何处理这些字段的创建有什么想法或建议吗?
python - Django Inspectdb 在尝试检查表时出现 MSSql 错误
尝试检查 MsSql 数据库时出现此错误:
这是我使用的命令:
这是settings.py中的连接: