Django Rest Framework:覆盖验证错误键

3
当我将我的网站翻译成另一种语言时出现了问题。我想要正确地处理验证错误并允许我的前端开发同事很好地展示它们。
在DRF中当发生验证错误时,有没有一种方法可以覆盖响应消息中的键?我的意思是,我想改变这个:
{
    "name": ["This field is required."]
}

into:

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

有没有一种方法可以不用编写每个验证器就能实现这个功能呢?
1个回答

3
您可以将ModelSerializer中的name字段更改为username
示例:
class CustomSerializer(serializers.ModelSerializer):
    username = serializers.CharField(source='name')

    class Meta:
        model = ...
        fields = ('username', ...)

现在,在验证错误中,它将使用键 username

这个解决方案的整个问题在于,我需要为不同的语言版本使用不同的服务器(和文件)。我想避免这种情况。 - Michal G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接