据我所知和地狱,经验丰富的是无法为线程共享django
db连接。
我已经四处寻找并找到了解决此问题的两种解决方案:
SQL
连接。sqlalchmeny
及其会话民意调查。还有其他方法吗?是不是可以要求django
为线程创建新的连接(听起来对我来说简单而有用!)
感谢。
答案 0 :(得分:1)
DB的线程安全问题与连接无关;当两个线程试图同时改变同一条数据时,甚至一个尝试写入而另一个试图读取时。为了防止这种情况,您只需要在其中一个线程需要对其执行某些操作时锁定该表。使用Django 1.4+的快捷方法是使用select_for_update
,这将锁定表,直到您执行update
操作。