python - 使用 MySQL Connector 和 Python 3 在 Django 中运行 inspectdb 时出错

标签 python mysql django python-3.x

我将发布一个问题,然后发布问题的解决方案,我在被卡住一段时间后找到了解决方案,所以我认为它可能对其他使用命令 inspectdb 生成模型的人有值(value)来自 MySQL 数据库的 Django,使用适用于 Python 3.3 的 MySQL 连接器

命令:

C:\myproj\myproj> manage.py inspectdb --database=mydb > models.py

结果错误(为简洁起见省略回溯):

django.db.utils.IntegrityError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''decimal' at line 1

最佳答案

所以解决方案很快,请注意,感谢 Marcin Miklaszewski 在此处发布了错误和相关解决方案:http://bugs.mysql.com/bug.php?id=72478 但是我认为在 StackOverflow 上找到这里会更容易。

文件第65行有错误(假设你已经在C:\Python33中安装了python):

C:\Python33\lib\site-packages\mysql\connector\django\introspection.py

替换第 65 行:

"table_schema = DATABASE() AND data_type='decimal", [table_name])"

与:

"table_schema = DATABASE() AND data_type='decimal'", [table_name])"

(请注意第一个版本中 decimal 之后缺少的撇号)。

现在您的 inspectdb 命令将正确运行。

关于python - 使用 MySQL Connector 和 Python 3 在 Django 中运行 inspectdb 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24979139/

相关文章:

php - LARAVEL ELOQUENT - 我想将用户表中的列添加到关系表中

python - django S3 - 修剪图像字段文件名而不是 url 路径

python - 在不传递调用对象的情况下将 Python 对象的变量作为函数调用

python - 在 python 内存装饰器类中设置 get/set 属性

php - 如何使用 PDO 获取并显示特定数据

django - 使用 Django,我想找到今天之后所有发布的事件,但只能从最近的包含事件的月份开始

python - Django 与 Pylons

python - 从 python-alpine 安装 MySQL-python 失败

python - 符号数组表达式

mysql - 存储过程中 RLIKE 和 LIKE 的奇怪行为