gpt4 book ai didi

django - 覆盖 SlugRelatedField 上的 default_error_messages

转载 作者:行者123 更新时间:2023-12-04 16:10:31 24 4
gpt4 key购买 nike

来自 django-rest-framework 文档:

Each serializer field class constructor takes at least these arguments. Some Field classes take additional, field-specific arguments, but the following should always be accepted:

  • error_messages - A dictionary of error codes to error messages.

我试图像这样覆盖 SlugRelatedField 中的“does_not_exist”错误消息:

example = SlugRelatedField(slug_field='label', error_messages={"does_not_exist": "Some custom error message."})

并收到错误:

not all arguments converted during string formatting

任何关于如何进行的提示将不胜感激。

最佳答案

我认为自从提出这个问题以来,django-rest-framework 已经改变了它的工作方式。

使用 DRF 3.8.2 版,SlugRelatedField 的默认错误消息现在是:

default_error_messages = {
'does_not_exist': _('Object with {slug_name}={value} does not exist.'),
'invalid': _('Invalid value.'),
}

我能够通过以下方式成功覆盖 does_not_exist 错误:

field = SlugRelatedField(
error_messages={
'does_not_exist': 'Foo error field={value} does not exist.',
}
)

请注意,我只使用了 DRF 插入到字符串中的值之一 - value,而我没有使用 slug_name。这很好用。

关于django - 覆盖 SlugRelatedField 上的 default_error_messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24688175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com