Python 如何覆盖模板中的ArrayField默认错误消息?
我试图更改Django为ArrayField生成的默认错误消息(特别是输入了太多项的错误消息) 如果用户在my ArrayField中输入的项目过多,则会在模板中生成以下消息: 列表包含4个项目,最多应包含3个 我想将此邮件更改为 主题不能超过3个 我已尝试将以下错误消息添加到我的forms.py TopicForm Meta类,但没有成功Python 如何覆盖模板中的ArrayField默认错误消息?,python,django,postgresql,Python,Django,Postgresql,我试图更改Django为ArrayField生成的默认错误消息(特别是输入了太多项的错误消息) 如果用户在my ArrayField中输入的项目过多,则会在模板中生成以下消息: 列表包含4个项目,最多应包含3个 我想将此邮件更改为 主题不能超过3个 我已尝试将以下错误消息添加到我的forms.py TopicForm Meta类,但没有成功 error_messages = { 'topic': { 'invalid': ("You can't h
error_messages = {
'topic': {
'invalid': ("You can't have more than 3 topics."),
},
这是我的models.py文件
from django.contrib.postgres.fields import ArrayField
from django.db import models
class Topic(models.Model)
topic = ArrayField(models.CharField(max_length=20), size=3, blank=True, null=True)
还有我的表格
from django import forms
from .models import Topic
class TopicForm(forms.ModelForm):
class Meta:
model = Topic
fields = ['topic']
我会在这方面提供一些意见!谢谢大家!
ArrayField
有多个错误“代码”,用于处理各种类型的用户输入
元素过多的数组的错误“code”为max\u length
以下是您丢失的代码片段的重写代码:)
顺便说一句,当用户试图提交不完整的输入时,您可能还需要自定义您的项目\u invalid
错误消息
例如,尝试提交string1、string2、
(请参阅额外的逗号?)
将提出:
数组中的项目3未验证
您可以通过添加以下内容自定义项\u invalid
消息:
error_messages = {
'topic': {
'max_length': ("You can't have more than 3 topics."),
'item_invalid': ("Your customized message"),
},
所以它是否一直显示
列表包含4项,它应该包含不超过3项。
即使有自定义错误消息?是的,我在Meta类下添加了自定义错误消息,它仍然显示默认错误消息非常奇怪。如果您尝试为不同类型的模型字段添加自定义错误消息,例如CharField
,这是否有效?当我为其他字段添加自定义错误消息时,它正常工作。ArrayField似乎有不同的错误代码。
error_messages = {
'topic': {
'max_length': ("You can't have more than 3 topics."),
'item_invalid': ("Your customized message"),
},