2012-08-31 5 views
1

Je crée un formulaire basé sur un modèle, où j'ai un champ booléen comme ceci:Django Boolean Champ retour « --------- » en tant que valeur

project_type = models.CharField(max_length=50, choices=JOB_TYPES) 

Les choix sont:

JOB_TYPES = (
    ('fulltime', _('Fulltid')), 
    ('project', _('Prosjektbasert')), 
) 

Pour afficher le type d'entrée sous forme de boutons radio plutôt que, je fais ceci:

class AddJob(ModelForm): 
     class Meta: 
      model = Jobs 
    widgets = { 
     'project_type': RadioSelect(), 
    } 

Dans le HTML, la sortie de forme ressemble à ceci:

<label for="id_for_project_type_0">Project type</label> 
<ul> 
<li><label for="id_for_project_type_0"><input checked="checked" type="radio"  id="id_for_project_type_0" value="" name="project_type" /> ---------</label></li> 
<li><label for="id_for_project_type_1"><input type="radio" id="id_for_project_type_1" value="fulltime" name="project_type" /> Fulltid</label></li> 
<li><label for="id_for_project_type_2"><input type="radio" id="id_for_project_type_2" value="project" name="project_type" /> Prosjektbasert</label></li> 
</ul> 

Pourquoi ai-je une valeur 0? J'ai seulement spécifié deux valeurs dans le modèle. Et comment puis-je m'en débarrasser?

Merci à l'avance :)

Répondre

0

Vous devez spécifier un default value pour project_type:

project_type = models.CharField(max_length=50, choices=JOB_TYPES, 
           default=JOB_TYPES[0][0]) 
Questions connexes