Skip to main content
 首页 » 编程设计

python之Django 休息框架 : Overwriting validation error keys

2024年09月07日31over140

将我的网站翻译成另一种语言时出现问题。 我想妥善处理 Validation Errors 并让我的前端 friend 能够很好地显示它们。

有没有办法在发生验证错误时覆盖 DRF 响应消息中的 key ? 这是什么意思 - 我想改变这个:

{ 
    "name": ["This field is required."] 
} 

进入:

{ 
    "username": ["This field is required."] 
} 

有没有一种方法可以做到这一点而无需编写每个验证器?

请您参考如下方法:

您可以将 ModelSerializer 中的 name 字段更改为 username。

例子:

class CustomSerializer(serializers.ModelSerializer): 
    username = serializers.CharField(source='name') 
 
    class Meta: 
        model = ... 
        fields = ('username', ...) 

现在在验证错误中它将使用 key username 代替。