编程语言
首页 > 编程语言> > Python / Django 1.5 DatabaseWrapper线程错误

Python / Django 1.5 DatabaseWrapper线程错误

作者:互联网

当我运行服务器并尝试加载本地版本的Web应用程序时,在Django 1.5.1(和1.5.0)和mysql中抛出以下DatabaseError:

DatabaseError at /

DatabaseWrapper objects created in a thread can only be used in that
same thread. The object with alias ‘default’ was created in thread id
4365488128 and this is thread id 140735183980896.

例外位置如下:

/Users/USERNAME/.envs/PROJECT_NAME/lib/python2.7/site-packages/django/db/backends/init.py
in validate_thread_sharing, line 154

这仅在第一页加载时发生.当我点击刷新时,Web应用程序按预期加载.当我改变Django / python代码并且本地服务器需要重新验证时,错误返回.当发生这种情况时,第一次加载再次抛出DatabaseError,后续加载再次抛出.

这个问题只发生在我的Django 1.5项目上.我已经卸载了mysql并清除了位于/usr/local/var / mysql中的mysql二进制文件.全新安装的mysql还没有解决这个问题.

这里讨论类似的DatabaseError,但我无法遵循他们的解决方案:

https://code.djangoproject.com/ticket/17998

我在这里不知所措,任何想法或专业知识都将受到赞赏.谢谢.

解决方法:

我在导入django之前通过猴子修补解决了这个问题.*:

import eventlet
eventlet.monkey_patch()

你理解的比我在这里使用线程.

标签:python,mysql,python-2-7,django,django-1-5
来源: https://codeday.me/bug/20190517/1122501.html