如何在下面的代码中具体捕获失败的唯一约束404,我知道我必须在(此处?)部分

try:
    q = AnswerModel(user=user, yes_question=question_model)
    q.save()
except ( here? ):
    return HttpResponseRedirect('/user/already_exists')

推荐答案

from django.db import IntegrityError

except IntegrityError:

这就是你需要的.

对于@mbrochh:EDITED

from django.db import IntegrityError

except IntegrityError as e: 
    if 'unique constraint' in e.message: # or e.args[0] from Django 1.10
        #do something

是的,你可以说得更精确些,但问题是UNIQUE failed的可能性很大.

Django相关问答推荐

如何在管理页面创建实例时只在ManyToManyField字段中显示超级用户

Django/SendGrid-密码重置-发件人地址与验证的发件人身份不匹配.";

我希望用户能够预订相同的桌子,但不是在同一时间

Django:我的上下文变量不能用于重复的for循环

Django Form标签和action属性

一次请求中更新整个Django模型

为什么 Django 在错误的目录中寻找模板?

Django 获取用户创建的对象,这些用户属于用户列表

如何在没有此前缀的情况下修复此 django 路径?

如何连接到 docker 容器中的 postgres 数据库?

Pytest-django - 测试创建和传递所需的用户对象

为什么在 Docker 映像中运行我的 Django 应用程序后下载属性不再起作用?

Django 过滤器:过滤隐藏在多层模型 struct 中的对象

所有子元素的Django自递归外键过滤器查询

如何使用 jQuery 建立 Django 网站

手动触发 Django 邮件错误报告

如何在Django中获取一个组的所有用户?

如何使用 select_for_update 在 Django 中获取查询?

Django - 了解 X-Sendfile

判断列表 django 模板中是否存在