2012-07-04 13 views
0

在我的模型,我已经定义必填字段类是这样的:如何检查是否需要表单域?

class Contact(models.Model): 
    last_name = models.CharField(_(u"Last Name"), max_length=50) 

对于形我只是使用的ModelForm保持简单:

class ContactsForm(ModelForm): 
    class Meta: 
     model = Contact 

我知道有第三方-mods与呈现形式,但是要平淡,现在看的时候我打的限制帮助,所以我想这:

  <tr> 
       <td> 
        {{form.last_name.label}}: 
       </td> 
       <td> 
        {{form.last_name}} 
        {% if form.last_name.required %}(*){% endif %} 
       </td> 
      </tr> 

令人惊讶的我做的不是G即使它是必填字段,也可以查看(*)

我错过了什么?

+1

这很奇怪。当我面对这些奇怪的事情时,我总是使用manage.py shell命令。您可以尝试自己创建表单的实例并查看它实际上是否需要的字段。只是为了检查 –

+0

@Kave,你确定'form.last_name'包含'required'属性。我不确定,但我不这么认为。 – machaku

+0

machaku,我认为这会自动设置,因为该字段不能为空也不为空。你自己设置吗? – Houman

回答

4

我现在不能对此进行测试,但我敢肯定你需要form.last_name.field.required - form.last_nameBoundField一个实例,它有一个field财产指向原始CharField,其中依次包含required属性。

0

我认为tou可以覆盖所需字段的默认标签。我的意思是这样

class ContactsForm(ModelForm): 
    last_name = CharField(label='Last Name (*)') 

    class Meta: 
     model = Contact 
相关问题