【问题标题】:Error while running inspectdb in Django with MySQL Connector and Python 3使用 MySQL 连接器和 Python 3 在 Django 中运行 inspectdb 时出错
【发布时间】:2014-07-27 08:12:32
【问题描述】:

我要发布一个问题,然后发布问题的解决方案,我在卡住了一段时间后找到了解决方案,所以我认为这对于其他使用命令 inspectdb 生成模型的人来说可能很有价值来自 MySQL 数据库的 Django,使用 MySQL Connector for Python 3.3

命令:

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

【问题讨论】:

    标签: python mysql django python-3.x


    【解决方案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 命令将正确运行。

    【讨论】:

      猜你喜欢
      • 2017-10-23
      • 2016-03-22
      • 2020-05-04
      • 1970-01-01
      • 2019-06-05
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      相关资源
      最近更新 更多