2012-03-28 13 views
9

Modelo:Django - La forma no válida, pero no hay error

class Session(models.Model): 
    tutor = models.ForeignKey(User) 
    start_time = models.DateTimeField() 
    end_time = models.DateTimeField() 
    def __unicode__(self): 
     return u'%s - %s' % (self.tutor, self.start_time) 

Forma:

class SessionForm(forms.ModelForm): 
    class Meta: 
     model = Session 
     exclude = ['tutor'] 

Pruebas:

>>> ses = Session.objects.get(pk=1) 
>>> ses 
<Session: Robert - 2012-03-22 13:00:00> 
>>> form = SessionForm(instance=ses) 
>>> form.is_valid() 
false 
>>> form.errors 
{} 

¿Qué ocurre?

Respuesta

15

No ha pasado ningún dato al formulario, por lo que no es válido. El argumento de la instancia no se utiliza para establecer los datos del formulario, solo los datos iniciales.

+0

Ok, ya veo. ¿Cómo puedo establecer estos valores iniciales como reales? –

+1

@PierredeLESPINAY: 'form = SessionForm (data = ses)' –

+0

'form.is_valid()' => 'El objeto 'Session' no tiene ningún atributo 'get'' –

Cuestiones relacionadas