gpt4 book ai didi

mysql - Django dumpdata 无法序列化现有列

转载 作者:行者123 更新时间:2023-11-29 02:50:11 26 4
gpt4 key购买 nike

我开始尝试从遗留数据库中dumpdata 我最近使用 django 的 inspectdb 进行了逆向工程...除此之外,每个查询都可以正常工作。在 MySQL 工作台中,该列存在。但是当尝试导出数据时,我得到:

CommandError: Unable to serialize database: no such column: af_datper.locnac

使用 traceback 不会显示任何影响我的行(粘贴在这里不要污染 http://dpaste.com/1DASN1V )。

模型字段已经允许该列的空值并且该列确实存在于数据库中(在使用工作台查看它时,inspectdb 不会将其拾取...

老实说,我不知道还能做什么。有没有人要?

最佳答案

深入研究您的回溯,我看到了这一点:

File "venv/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params) File "venv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 323, in execute return Database.Cursor.execute(self, query, params) sqlite3.OperationalError: no such column: af_datper.locnac

来自 SQLite documentation :

If a schema-name is specified, it must be either "main", "temp", or the name of an attached database. In this case the new table is created in the named database. If the "TEMP" or "TEMPORARY" keyword occurs between the "CREATE" and "TABLE" then the new table is created in the temp database. It is an error to specify both a schema-name and the TEMP or TEMPORARY keyword, unless the schema-name is "temp". If no schema name is specified and the TEMP keyword is not present then the table is created in the main database.

简而言之,sqlite不支持foo.bar作为列名,除非 foo是数据库的名称或 main 之一或 temp .

关于mysql - Django dumpdata 无法序列化现有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36819651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com