Django restframework non_field_errors处理方案

 https://www.django-rest-framework.org/api-guide/serializers/#validation

1. 自定义key名

The name of the non_field_errors key may be customized using the NON_FIELD_ERRORS_KEY REST framework setting.


REST_FRAMEWORK = {"NON_FIELD_ERRORS_KEY":"moreerror"}

2.自定义错误信息

from rest_framework.validators import UniqueTogetherValidator
class CashOutApplySerializers(serializers.ModelSerializer):
    wx_name = serializers.CharField(source='u_id.wx_name', read_only=True)
    pt_name = serializers.CharField(source='u_id.pt_name', read_only=True)
    pt_telphone = serializers.CharField(source='u_id.pt_telphone', read_only=True)
    create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True)
    update_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True)

    class Meta:
        model = CashOutApply
        fields = '__all__'
        validators = [
            UniqueTogetherValidator(
                queryset=CashOutApply.objects.all(),
                fields=('u_id','status'),
                message='申请审核中,请不要重复提交'
            )
        ]

  

 
原文地址:https://www.cnblogs.com/Lucifer77/p/15623187.html