我有下面的代码,并且在按下按钮时尝试使用它来删除项目。我使用chain来设置两个查询并列出结果。现在我要做的是允许用户使用按钮删除列表中的任何内容。然而,当我测试它时,我得到一个错误,即2个查询集之一不存在。有没有办法只是强制它传递到下一行代码,如果它不存在与给我一个错误?
Error:signedup matching query does not exist.
page = request.POST.get("page", False)
if page == "delete":
pk = request.POST.get("item")
dancer = signedup.objects.get(pk=pk)
team = team_signup.objects.get(pk=pk)
if dancer == None:
team.delete()
elif team == None:
dancer.delete()
答案 0 :(得分:2)
您需要将异常处理放在:
中try:
dancer = signedup.objects.get(pk=pk)
except signedup.DoesNotExist:
# handle error
我的回答将解决您获得的例外情况,但您的代码看起来还有其他一些问题:
team_signup
和signedup
会共享主键?您可能应该传递一个主键(对于要删除的对象)和对象的类型,以便您知道要从哪里删除。