Python Django管理员忽略CharField最大长度

Python Django管理员忽略CharField最大长度,python,django,django-admin,Python,Django,Django Admin,我有一个带有多个CharField和SlugField实例的模型,如: slug = models.SlugField(max_length=255, db_index=True, blank=False, null=False) 但当我在admin中查看该字段时,它呈现为: <input name="slug" value="some-arbitrary-value-much-longer-than-10-characters" maxlength="10" type="text" i

我有一个带有多个CharField和SlugField实例的模型,如:

slug = models.SlugField(max_length=255, db_index=True, blank=False, null=False)
但当我在admin中查看该字段时,它呈现为:

<input name="slug" value="some-arbitrary-value-much-longer-than-10-characters" maxlength="10" type="text" id="id_slug" size="200" />
如果我注释掉行
'widget':TextInput(attrs={'size':'200',})
问题就会消失。为什么会这样


如何在增加ModelAdmin中所有Char/SlugField的显示长度的同时解决此问题?

SlugField模型字段使用Django admin中的SlugField表单字段。这个表单字段只是CharField的一个子类,带有一个专门的验证器。AFAIK,Django 1.6未实现客户端(JS)验证,也未说明允许的最大长度为10个字符(即:models.SlugField的默认长度为50个字符)。请添加您正在接收的确切消息(如果可能,请复制粘贴)、您正在使用的Django版本以及您是否正在使用Django管理外观/升级(如管理工具或grappelli)。如果您根本不使用
formfield\u覆盖
,会发生什么?
class MyAdmin(admin.ModelAdmin):

    formfield_overrides = {
        models.CharField:{
            'widget': TextInput(attrs={'size':'200',})
        },
    }