如何使 Django 与不受支持的 MySQL 驱动程序(例如 gevent-mysql 或 Concurrence 的 MySQL 驱动程序)一起工作?

StackOverflow https://stackoverflow.com/questions/2636536

我有兴趣在 Concurrence 或 gevent 等异步框架上运行 Django。这两个框架都带有自己的异步 MySQL 驱动程序。

问题是 Django 仅官方支持 MySQLdb。我需要做什么才能使 Django 与 gevent 或 Concurrence 附带的 MySQL 驱动程序一起工作?

有我可以遵循的分步指南吗?这是一项重大事业吗?

谢谢。

有帮助吗?

解决方案

三个呼为@ traviscline的建议,去与 pymysql 。他的建议是基于此帖来自Mozilla的 。所需要的是一个简单的补丁到你的manage.py文件

#!/usr/bin/env python
+try:
+    import pymysql
+    pymysql.install_as_MySQLdb()
+except ImportError:
+    pass 

改变您的设置文件的进口,和猴补丁(),因为pymysql是一个纯Python驱动程序。

特拉维斯提到,他通过改变进口和运行pymysql,MySQLdb的,和myconnpy的单元测试用于测试的兼容性。

请注意,目前已经有要提防的更精细的细节例子 - 但总体而言,这是一个优雅的,维护的解决方案。当我在生产中得到这个运行我会更新!

scroll top