2016-07-29 70 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',)