:) 你好!
我目前遇到一个问题,我无法通过搜索文档或其他问题来解决,如果有人能帮助我,我将不胜感激。
问题相对简单:我正在为发布新对象时出现的验证错误添加自定义消息,但我只想在一个地方做:在模型内部或序列化程序内部。
为了这个例子和我的用例,我只谈论
unique
和max_length
验证。
在模型字段中定义
error_messages=errors_dict
目前仅更改unique
验证错误消息,显示max_length
的默认值。
当我在序列化程序中设置它时,会发生相反的情况,在 Meta 中使用 extra_kwargs。它只会更改
max_length
验证错误消息。
有人知道我在这里缺少什么吗?是否可以只在一个地方设置
error_messages
?
谢谢!
这里有一些代码片段,它有帮助:
下面示例中的errors
是同一个字典,包含两个键(unique
和max_length
)。
class User(AbstractUser, SplintModel):
(...)
cpf = models.CharField('CPF', blank=False, max_length=11, unique=True, error_messages=errors)
class UserSerializer(serializers.ModelSerializer):
(...)
class Meta:
model = User
(...)
extra_kwargs = {
"cpf": {"error_messages": errors}
}