2012-02-07 47 views
0

表在PostgreSQL數據庫:空白表單字段不接受

CREATE TABLE pmss_recordmodel 
(
    id serial NOT NULL, 
    "Name" character varying(100), 
    CONSTRAINT pmss_recordmodel_pkey PRIMARY KEY (id) 
) 
WITH (OIDS=FALSE); 
ALTER TABLE pmss_recordmodel OWNER TO postgres; 

型號:

class RecordModel(models.Model): 

    def __unicode__(self): 
     return self.Name 

    Name = models.CharField(max_length = 100, unique = False, null = True, blank = True) 

發帖時用空白名稱字段數據,form.is_valid()返回False。爲什麼?我錯過了什麼嗎?

編輯:

class RecordForm(forms.ModelForm): 

    class Meta: 
     model = RecordModel 

    Name = forms.CharField(label = "Имя ", widget = forms.TextInput(attrs = {'size': 15})) 
+1

是什麼'form.errors'顯示 – 2012-02-07 02:04:48

+0

{ '名稱':U'\ u041e \ u0431 \ u044f \ u0437 \ u0430 \ u0442 \ u0435 \ u043b \ u044c \ u043d \ u043e \ u0435 \ u043f \ u043e \ u043b ''}}({'Name':['required field']}) – DSblizzard 2012-02-07 02:32:53

+0

部分解決方案:http://stackoverflow.com/questions/1134667/django-required-field-in-model-form – DSblizzard 2012-02-07 02:40:19

回答

1

Django forms documentation

默認情況下,每個Field類假設值是必需的

設置 「需要」 的說法爲False這樣:

Name = forms.CharField(required = False, label = "Имя ", widget = forms.TextInput(attrs = {'size': 15})) 
0

您可能在如何在數據庫中定義字段時遇到問題。

這似乎是它可以做執行syncdb與現場最初沒有blank=True null=True再後來將這些字詞(初始執行syncdb之後),使不需要現場的常見情況。這些設置不會通過再次運行syncdb來應用。它需要數據庫遷移或數據庫刷新(將清除現有數據,這在開發過程中不一定是不好的)。