这段代码正在更改类中所有CharField的大小。如何更改一个CharField的大小?
formfield_overrides = {
models.CharField: {'widget': TextInput(attrs={'size': '20'})},
}
最佳答案
定义一个自定义模型形式,该形式将覆盖您的字段的小部件:
from django import forms
class MyForm(forms.ModelForm):
class Meta:
widgets = {
'my_field': forms.TextInput(attrs={'size': '20'}),
}
然后在模型管理员中使用表单:
class MyModelAdmin(admin.ModelAdmin):
form = MyForm
...
请注意,设置
TextInput(attrs={'size': '20'})
仅会影响在模型admin中显示表单字段的方式。如果要更改数据库中列的长度,则应设置max_length
。class MyModel(models.Model):
my_field = models.CharField(max_length=20)