我已经阅读了一些关于sqlite并发性问题的文章,但是我不知道它们如何应用于Django,因为它本质上是单线程的。我也不使用任何多进程模块。我也绝对没有并发编程的经验,所以如果有人能确定为什么下面的代码会导致操作错误:“数据库被锁定”,我将不胜感激。在
在视图.py在def screening(request, ovramt=None):
errors = []
if request.method == "POST":
form = ScreeningForm(request.POST)
if form.is_valid():
print "Woo valid!!"
return HttpResponse()
else: # GET
if ovramt is None:
o = Ovramt.objects.select_related(depth=1).latest("date_completed")
print "found?"
print o.id
else:
try:
o = Ovramt.objects.select_related(depth=1).get(id=ovramt)
except:
errors.append("OVRAMT NOT FOUND")
if o.residents.count() <= 0:
o.add_active_residents()
residents = list(o.residents)
在模型.py在
^{pr2}$
add_active_insidents方法工作正常,直到从views模块调用它为止。视图中是否有一个打开的数据库连接阻止从模型中写入?有人能解释为什么这个代码会出错吗?在