python sqlite并发处理_python – Django和Sqlite并发问题

我已经做了一些与sqlite的并发问题有关的阅读,但是我没有看到他们如何应用于Django,因为它本身就是单线程的.我也没有使用任何多进程模块.我完全没有并发编程的经验,所以如果有人能够确定以下代码导致操作错误:’数据库被锁定’,我将不胜感激.

views.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)

models.py

def add_active_residents(self):

ssa_res = SSA_Resident.objects.select_related(depth=1).filter(ssa=self.ssa, active=True)

for r in ssa_res:

self.residents.add(r.resident) # Fails Here

self.save()

add_active_residents方法正常工作,直到从视图模块调用它.是否在视图中打开了与数据库打开的连接,这会阻止从模型写入?有人解释为什么这段代码会出错?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值