我试图构建一个支持使用Django许多一对多的关系数据库和现有的MySQL数据库,通过去之后的下一步骤Django“投票”教程。
我正在运行一个包含Python 3.4,Django 1.9.2,mysql-connector-python 2.1.3的虚拟环境。
我连接到通过“引擎”上MAMP运行MySQL数据库:“mysql.connector.django”项目settings.py
在我的项目的设置应该是正确的,因为我没有问题,使用inspect db从现有的MySQL数据库中提取模型。
问题:
看在和编辑模式后inspectdb创建的,我想将它们迁移到数据库。我将模型复制到应用程序的models.py并运行migrate命令。不幸的是,它现在抛出错误,并且对django很陌生,我不太确定问题出在哪里。我看到:
(开始错误节选)
Operations to perform:
Apply all migrations: admin, sessions, auth, contenttypes
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial...Traceback (most recent call last):
File "/path/to/virtualenv/lib/python3.4/site-packages/mysql/connector/django/base.py", line 177, in _execute_wrapper
return method(query, args)
File "/path/to/virtualenv/lib/python3.4/site-packages/mysql/connector/cursor.py", line 515, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/path/to/virtualenv/lib/python3.4/site-packages/mysql/connector/cursor.py", line 434, in _handle_result
self._handle_noresultset(result)
File "/path/to/virtualenv/lib/python3.4/site-packages/mysql/connector/cursor.py", line 404, in _handle_noresultset
self._warnings[0][1], self._warnings[0][2])
mysql.connector.errors.DatabaseError: 1264: Out of range value for column 'applied' at row 1
During handling of the above exception, another exception occurred:
(完错误节选)
什么,我认为正在发生的
读取错误信息,我期待在一个作为罪魁祸首的两件事:内容类型或mysql连接器设置('ENGINE':'mysql.connector.django')。
我发现了ContentTypes模型的django文档,但页面上的内容似乎无法帮助诊断我的问题。
我很好奇它是否是连接器,如果是这样,为什么inspectdb在提取模型时没有问题。
任何人都可以给我一些见解发生了什么?
谢谢!
它是一个全新的应用程序或从早期版本的Django(如1.8)升级? – Selcuk
好问题。我想说一个新的Django安装,但我可能在某个时候玩过不同的版本。我试着开始一个新的venv,仍然得到相同的错误。 – jsamsf
如果您使用Django 1.8或更早版本创建项目,然后将其复制到1.9环境中,则可能会发生迁移错误。 – Selcuk