问题标签 [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.

0 投票
1 回答
823 浏览

python - INSPECTDB 和 INSPECTDB_REFACTOR 生成空模型

我有 django 项目和一个应用程序。我没有模型,我想从现有的 postgres 数据库中生成它们。我试过了python manage.py inspectdb_refactor --database=default --app=igtpython manage.py inspectdb --database=default但是对于第一个事件,django 生成的路径只有__inti__.py,而对于第二个事件(inspectdb),django 生成了空的 models.py。怎么了?连接没问题(所以数据库配置没问题),应用程序是在设置时定义的..有什么问题?我的设置.py:

UPD:现在 inspectdb(迁移后)已经在 models.py 中生成了一些 Django 类:

但是没有生成来自 postgres 数据库的类

0 投票
1 回答
822 浏览

python - 从 django 到 postgres DB 的奇怪迁移。如何保存现有数据

我走在一条奇怪的路上,但这是环境的结果。我必须通过inspect_db 从现有的postgres DB 生成单个models.py。接下来我修复了一些字段(键有一些问题),并在这个项目中创建了 2 个应用程序。所以现在我有3个models.py(它们是拆分models.py,由inspect_db生成)。managed = True加入。类具有与数据库中相同的链接和数据类型接下来我希望将此模型集成到现有数据库中。我进行了迁移,我进行了迁移,最后数据库只有系统 django 表(auth_、django_migrations 等)。我的类中没有(尽管创建了迁移文件)。所以我尝试删除迁移目录并重复makemigrationsand migrate,但终端抛出了它:

如果我再次尝试进行迁移 - 没有更改。我试图在 django_migrations 表中删除有关我的应用程序的信息 - 没有结果。

所以我的问题是: - 是否可以将新模型集成到现有数据库中(如果名称、键和格式都可以)?- 可以通过迁移后保存现有数据库中的数据的方式进行集成吗?- 如何返回进行迁移的可能性?现在不行了。

0 投票
0 回答
133 浏览

django - 如何将 Oracle 中旧数据库的表视图映射到 django 模型?

我正在开发一个需要连接到现有远程 Oracle 数据库的项目。问题是客户端没有完全访问数据库。相反,我只能访问数据库的某些视图(关系数据库视图)。未提供表名。

我能够在我的 django 视图中对 legacydb 执行原始 sql 查询。但是,如果我可以为这些视图生成模型并使用 django ORM,那会容易得多。有没有办法做到这一点?我期待的是使用一些命令,如inspectdb,从oracle 遗留数据库提供的视图中生成模型。

0 投票
1 回答
120 浏览

python - 我在多大程度上可以依赖 django 的 inspectdb 命令来使用大型遗留 MySQL 数据库?

我需要制作一个网站门户,用于根据我大学图书馆的活动生成报告。为此,我得到了一个包含 200 多个表的大型数据库。

由于我在 django 上做过网站开发,所以我希望能够使用它。现在,由于我已经有一个遗留数据库,我想到了使用 django 的 inspectdb 命令根据数据库自动生成模型。

这为我生成了模型。我想知道,我能在多大程度上依赖这些模型。我的数据库中有多个 OneToOne 关系,但 django 只是将它们设置为 ForeignKeys。生成的模型中会不会有更多这样的错误?由于表的数量很大,我很难将每个表都逐一检查并检查相应的模型。

如果这样生成的模型不可信,我希望使用简单的 python 和连接字符串将 MySQL 连接到 python 来创建一个网站。这使我可以访问数据库,尽管我不确定如何在不使用框架的情况下创建网站以及如何将首页集成到网站。

0 投票
0 回答
96 浏览

django - TypeError 在 ArrayField 上的 django inspectdb 中缺少“base_field”

django 2.2.1

旧数据库是通过 sql 代码创建的,我想通过inspectdb. 问题列被创建为times VARCHAR[]

当我运行时inspectdb > models.py- 执行失败并出现错误。该models.py文件被创建为空文件,我在控制台中看到错误:

times = ArrayField(blank=True, null=True) #This field type is a guess TypeError: __init__() missing 1 required positional argument 'base_field'

对于这个遗留数据库 -

1)由于检查失败,我应该手动覆盖每个表吗?

2)我可以在没有任何模型的情况下使用数据库游标(也在生产中)吗?

3)还有其他解决方案吗?

0 投票
0 回答
328 浏览

python - 如何使用 postgresql 检查 django2.1 中的数据库?

嗨,当我运行python3 manage.py inspectdb
它会返回以下错误 # The error was: sequence index must be integer, not 'slice'

当我使用 postgresql 时在 sqlite 上同样python3 manage.py inspectdb工作它会返回错误

# Unable to inspect table 'zip_code
# The error was: sequence index must be integer, not 'slice'

0 投票
2 回答
125 浏览

python - Django - inspectdb - “models.FileField”显示为“models.CharField”

出于某种原因,我想检查使用 Django 创建的 Db。我运行 command =python manage.py inspectdb > inspectdb.txt 我看到 =models.CharField代替了预期的 = models.FileField,而 models.py 也有正确models.FileField的 Db 肯定有 amodels.FileField能够存储 Files = .csv ,在这种情况下是正确的。

我的问题 - 为什么 inspectdb 会以不同的方式显示模型字段,如何了解更多信息?

链接问题 - https://stackoverflow.com/a/48739612/4928635

0 投票
1 回答
431 浏览

python - django // 1054,“字段列表”中的未知列“rank.post_id_id””

django=2.2.3 mariadb

从具有“inspectdb”的现有数据库导入模型并更改字段属性后,会发生此错误。

原来是#post_id,但是我去掉了“managed = False”,改成了ForeignKey,然后“迁移”了。据我所知,如果“Post”模型中的“post_id”是“primary_key True”,它会将“id”值替换为“post_id”。但是“Django”不断调用“post_id_id”。没有命令可以在别处引用 post_id_id。如果您有解决方案或我缺少的东西,请给我一些建议。

--------在丹尼尔罗斯曼评论后添加更多内容--------

0 投票
1 回答
386 浏览

python - ProgrammingError: 1064 在使用 django 和 mysql 数据库执行 inspectdb 时

我在 settings.py 中配置了两个数据库:

承载 db2 的服务器使用 mysql 4.1.2。我正在使用 Python 3.7.3 + django 2.2.5 + mysqlclient 1.4.4。

当我运行时,python manage.py inspectdb --database db2我收到以下错误:

django.db.utils.ProgrammingError: (1064, "你的 SQL >syntax 有错误;查看与你的 MySQL 服务器版本相对应的手册 > 在第 1 行的 'TABLES' 附近使用正确的语法")

我已经打印了“查询”,它是:SHOW FULL TABLES

我试图手动连接到数据库(MySQLdb.connect + cursor)并从表中检索数据,它工作正常。

我的问题与( Error 1064 Django inspectdb )基本相同,但是那个人没有得到任何帮助。希望我会。

我想要完成的是默认使用来自 db2 的数据作为外键。例如,我在默认数据库中描述了一些项目,在 db2 中定义了一些人。我想将 db2 中的一个人与默认的项目相关联。为了做到这一点,我认为使用 inspectdb 构建模型会有所帮助。

完整的输出是:

编辑:我已经确定了发送查询的函数:

这进一步用于:

如果我替换SHOW FULL TABLESSHOW TABLES,我还需要更改函数的返回。如果我能以与函数当前返回的内容等效的方式执行此操作,但没有 VIEW 部分,有什么想法吗?

0 投票
3 回答
428 浏览

django - Django unknown column error when trying to get a model objects

I'm trying to set up a web-app that modify an existing MySQL database using Dajngo, the model for my table below was generated via Django inspectdb:

and here is an SQL of that base_case table in the database :

the problem is when I try to get the objects via Django ORM I keep getting this error