Django Admin忽略CharField max_length

时间:2012-11-30 23:08:36

标签: 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" id="id_slug" size="200" />

并尝试编辑或保存触发器Django Admin的内置JS表单字段验证,通知我只允许10个字符。

我在admin.py中唯一“奇怪”的事情是我使用formfield_overrides声明来增加所有CharField和SlugField的长度,因为默认情况下它们非常短。

所以我的ModelAdmin看起来像:

class MyAdmin(admin.ModelAdmin):

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

如果我注释掉'widget': TextInput(attrs={'size':'200',})行,问题就会消失。这是为什么?

如何在我的ModelAdmin中增加所有 Char / SlugFields的显示长度的同时解决这个问题?

0 个答案:

没有答案