Django中的“get()返回多个模型名称”错误在多线程程序中
Django的get_or_create函数在多线程程序中总是会出现“get()返回了多个模型名称”的错误。
我甚至尝试把get_or_create的语句放在lock.acquire()和lock.release()的代码块里面,但还是不行。
这个程序只有在我把线程数设置为1的时候才能正常工作。
数据库使用的是InnoDB引擎。该怎么解决这个问题呢?
1 个回答
2
这个问题不是因为多线程造成的,而是因为数据库中有多个对象符合你的查询条件。你必须用get方法从数据库中选择一个确切的对象,否则会出现错误。