2016-07-29 66 views
2

在Django模型中,我有一个字段如何让Django窗体重写模型?

state = models.CharField(max_length=100, blank=True, null=True) 

而且我想保持的100这个最大长度在模型和数据库。但是,当我显示一个HTML表单,我想它的最大长度限定为2

我这样做:

class EditMyThingForm(ModelForm): 
    class Meta: 
     model = MyThing 
     fields = [ 'state' ] 
     widgets = { 'state': forms.TextInput(attrs={'maxlength': 2}) } 

但无论我做什么,最大长度为100!表单是否严重不覆盖模型?

+0

当你说'不管我做什么,最大长度为100',你说的是实际的HTML输出或表单验证? –

+0

“{{form}}”呈现的HTML是什么? –

+0

实际的html有maxlength = 100 – Colin

回答

2

尝试去驾驭它像这样:)

from django import forms 


class EditMyThingForm(forms.ModelForm): 
    state = forms.CharField(label='State', widget=forms.Textarea, max_length=2) 

    class Meta: 
     model = MyThing 
     fields = ('state',)