【发布时间】:2013-04-19 16:53:57
【问题描述】:
当我运行服务器并尝试加载 Web 应用程序的本地版本时,在 Django 1.5.1(和 1.5.0)和 mysql 中引发以下 DatabaseError:
DatabaseError at /
在线程中创建的DatabaseWrapper 对象只能在该线程中使用 相同的线程。别名为“default”的对象是在线程 ID 中创建的 4365488128,这是线程 ID 140735183980896。
异常位置如下:
/Users/USERNAME/.envs/PROJECT_NAME/lib/python2.7/site-packages/django/db/backends/init.py 在 validate_thread_sharing 中,第 154 行
这只发生在第一个页面加载时。当我点击刷新时,Web 应用程序按预期加载。当我更改 Django/python 代码并且本地服务器需要重新验证时,错误返回。发生这种情况时,第一次加载会再次引发 DatabaseError,而后续加载再次不会。
这个问题只发生在我的 Django 1.5 项目中。我已经卸载了 mysql 并清除了位于 /usr/local/var/mysql 中的 mysql 二进制文件。全新安装 mysql 并没有解决这个问题。
此处讨论了类似的 DatabaseError,但我无法遵循他们的解决方案:
https://code.djangoproject.com/ticket/17998
我在这里不知所措,任何想法或专业知识将不胜感激。谢谢。
【问题讨论】:
-
你的代码使用线程吗?
-
我没有接触线程,不。基本的 Django 安装,基本的 MySQL 使用。
-
代码在哪个版本的 Django 下可以正常工作?
标签: python mysql django python-2.7 django-1.5