TypeError:“DoesNotExist”对象不是callab

2024-06-28 20:56:56 发布

您现在位置:Python中文网/ 问答频道 /正文

它并不总是这个代码块,但这是最新的。好像是随机的,有什么想法吗?在

try:
    u = User.objects.get(email__iexact=useremail)
except User.DoesNotExist:
    ...

随机抛出这个错误。在

^{pr2}$

Tags: 代码getobjectsemail错误tryexceptuser
1条回答
网友
1楼 · 发布于 2024-06-28 20:56:56

正如克里斯在上面的评论中所说,你的代码片段是有效的。在代码的其他地方,您可能错误地捕捉到异常。在

你可能会有这样的东西:

try:
    do_something()
except User.MultipleObjectsReturned, User.DoesNotExist:
    pass

而不是:

^{pr2}$

如果没有括号,except语句在python2.6+中相当于

except User.MultipleObjectsReturned as User.DoesNotExist:

User.MultipleObjectsReturned异常的实例覆盖User.DoesNotExist。在

当同一个进程稍后处理不同的请求时,您将得到 TypeError,因为您的代码正在尝试调用替换了User.DoesNotExist的异常实例。在

相关问题 更多 >