2011-02-14 78 views
2

我面臨着我的modelForm的一個小問題,它的工作原理,但如果我嘗試使用自定義的HTML我得到一個錯誤,當我嘗試迭代form.bairro。ModelForm Django選擇html問題

我的模型:

class Bairro(models.Model): 
     bairro = models.CharField(max_length=50) 

     def __unicode__(self): 
     return self.bairro 
     class Meta: 
     db_table = 'bairro' 

    class Cliente(models.Model): 
    nome = models.CharField(max_length=80) 
    bairro = models.ForeignKey(Bairro , on_delete=models.PROTECT) 
    endereco = models.CharField(max_length=100) 
    telefone = models.CharField(max_length=8,null=True) 

    def __unicode__(self): 
     return self.nome 

    class Meta: 
     ordering = ['nome'] 
     db_table = 'cliente' 

我的形式:

from cliente.models import Cliente,Bairro 
    from django.forms import ModelForm 

    class ClienteForm(ModelForm): 
    class Meta: 
     model = Cliente 

我的html:

  <select name="bairro" id="id_bairro"> 
       {% for b in  form.bairro%}     
       <option value="{{b.id}}">{{b.bairro}}</option> 
       {% endfor%} 
      </select> 

我失去了什麼?我不想使用form.as_p()或form.as_table(),我想寫我自己的HTML .....已經使用自定義HTML與正常形式,它的作品完美。

回答