Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何覆盖模板中的ArrayField默认错误消息?_Python_Django_Postgresql - Fatal编程技术网

Python 如何覆盖模板中的ArrayField默认错误消息?

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

我试图更改Django为ArrayField生成的默认错误消息(特别是输入了太多项的错误消息)

如果用户在my ArrayField中输入的项目过多,则会在模板中生成以下消息:

列表包含4个项目,最多应包含3个

我想将此邮件更改为

主题不能超过3个

我已尝试将以下错误消息添加到我的forms.py TopicForm Meta类,但没有成功

    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"),
         },