django捕获特定错误给出特定的返回提示

在Django中用try…except…来捕获错误并给出输出

但是有些特定的错误如何捕获呢,比如下面这个
在这里插入图片描述
这时我们就需要先把这个错误导入进来

from django.db.utils import IntegrityError

然后征程捕获及响应输出即可:

        try:
        # 控制数据库事务交易
            with transaction.atomic():
                cup_list = []
                logger.info("cup_list数据为: {}".format(cup_list))
                for data in excel_file:
                    password = generate_verification_code(length=8)
                    logger.info("data数据为: {}".format(data))
                    category_id = data['category_id']
                    category = Category.objects.get(pk=int(category_id))
                    phone = data['phone']
                    # 获取到用户
                    user = UserInfo.objects.filter(tel=phone).first()
                    enterprise = category.enterprise
                    mes = {'password':password,'category':category,'user':user,'enterprise':enterprise}
                    cup_list.append(mes)
                data = [Cls_User_Passwd(**item) for item in cup_list]
                logger.info("data数据为: {}".format(data))
                # 批量创建新纪录
                cls_user_passwd = Cls_User_Passwd.objects.bulk_create(data)
        except IntegrityError:
            return Response('有数据重复被加入数据库')
        except Exception  as e:
            return Response('发生以下错误:%s'%e)
        return Response('入库成功', status=status.HTTP_200_OK)```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值