博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django serializer 定制error_message
阅读量:5311 次
发布时间:2019-06-14

本文共 1375 字,大约阅读时间需要 4 分钟。

1,在字段上定制字段信息的判断

class CreateManagerSerializers(serializers.ModelSerializer):    username = serializers.CharField(validators=[UniqueValidator(        queryset=models.Manager.objects.all(),        message='名称重复'    )])    password = serializers.CharField(write_only=True) ==>在传入库里面已经有的名字时,显示错误信息

{

"username": [
"名称重复"
]
}

2,在Meta中定制错误信息,效果和字段上定制一样

 
class Meta:     model = models.Manager     fields = ['username', 'password', 'email', 'mobile_number', 'role_num', 'channel']     extra_kwargs = {
'username':{'validators':[UniqueValidator( queryset=models.Manager.objects.all(), message='名称重复')]}, 'email': {'validators': [UniqueValidator( queryset=models.Manager.objects.all(), message='email重复')]}, }
==>错误信息和上面一样

{

"username": [
"名称重复"
],
"email": [
"email重复"
]
}

3,利用valition_字段 raise报错信息

class CreateManagerSerializers(serializers.ModelSerializer):    username = serializers.CharField()    password = serializers.CharField(write_only=True)        def validate_username(self,value):        from rest_framework.exceptions import ValidationError        flag=models.Manager.objects.filter(username=value).exists()        if flag:            raise ValidationError('用户名称重复')        return value ==>报错信息

{

"username": [
"用户名称重复"
],
"email": [
"email重复"
]
}

 

转载于:https://www.cnblogs.com/52forjie/p/10432538.html

你可能感兴趣的文章
mysql的隐式转化
查看>>
UIAlertView浅谈
查看>>
将txt文件转换成EXCEL文件的方法
查看>>
图片上传后台实现方法
查看>>
MapXtrem + Asp.net 地图随窗体改变大小
查看>>
AdaBoost算法分析与实现
查看>>
前端知识点总结1
查看>>
在table表格中实现圆角效果
查看>>
文件帮助类(解压,压缩)
查看>>
linux组调度浅析
查看>>
UNIX网络编程——客户/服务器程序设计示范(三)
查看>>
在争取的路上,为艰苦奋斗的适用人群建议
查看>>
opencv2.4.9+vs2010 的配置方法
查看>>
关键字
查看>>
API对接中经常会出现的签名获取,这只是某一种,仅供给有需要的人参考
查看>>
sed简单使用(五)选择性删除
查看>>
1.1 Hello Qt 开始
查看>>
hdu 5690(模运算)
查看>>
hdu 4541(麻烦的模拟)
查看>>
关于外存索引
查看>>