2012-03-28 15 views
9

Model:Django - Postać nie ważne, ale nie błąd

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) 

Postać:

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

Testowanie:

>>> 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 
{} 

Co się stało?

Odpowiedz

15

Nie przekazałeś żadnych danych do formularza, więc jest on nieważny. Argumentu instancji nie używa się do ustawiania danych formularza, tylko dane początkowe.

+0

Ok Widzę. Jak ustawić te wartości początkowe jako rzeczywiste? –

+1

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

+0

'form.is_valid()' => 'Obiekt 'Session' nie ma atrybutu 'get'' –

Powiązane problemy