J'ai une classe et c'est modelForm.Comment faire pour que Django ModelForm ait un seul champ?
class UserGoal(models.Model):
user = models.ForeignKey(User)
goal = models.ForeignKey(Goal)
deadline = models.DateTimeField(blank=True, null=True)
goalETA = models.DateTimeField(blank=True, null=True)
def __unicode__(self):
return u'%s, %s, %s ' %(self.user, self.goal, self.deadline)
class partialGoalSetForm(ModelForm):
class Meta:
model = UserGoal
fields = ('deadline', 'goalETA')
Ce code fonctionne correctement pour avoir seulement 2 champs (deadline et goalETA) dans le formulaire. Cependant, si je retire un dans la liste:
fields = ('deadline')
Ensuite, je reçois l'erreur suivante:
django.core.exceptions.FieldError: Champ inconnu (s) (a, e, d, i , l, n) spécifié pour UserGoal
Il semble que le caractère 'deadline' soit utilisé par les caractères. Très étrange.
Les solutions que j'ai essayé comprennent:
fields = ('deadline')
fields = 'deadline'
field = ('deadline')
field = 'deadline'
Aucun dont le travail.
Des suggestions? Merci de votre aide.
Génial, merci! Ça a marché. Donc, cette virgule. C'est à cause du typage dynamique de python? Et il traite les champs comme deux types de données différents, qu'il y ait une virgule ou pas? – DynamicViewer