2016-04-10 5 views
0

Ich habe eine einfache TicketForm, die eine Django Form ist. Ich will 1,8Ticket Betrag verrechnet Null in Django Formular

class TicketForm(forms.Form): 
    ticket_amount = forms.DecimalField(label="Ticket Amount", required=True) 
    name = forms.CharField(label="Name",required=False) 

def clean_ticket_amount(self): 
    ticket_amount = self.cleaned_data.get('ticket_amount', None) 
    if ticket_amount <= 0.00: 
     raise forms.ValidationError("Ticket values cannot be below $0.00") 

def save(self): 
    print(self.cleaned_data) 
    #some other code 

die Cleanfield Methoden in Django außer Kraft zu setzen, wenn ich so etwas wie print(self.cleaned_data) bekomme ich einen Ausgang wie so:

{'name': "some_name", 'ticket_amount': {...}} 

Und dann kann ich es nicht verarbeiten. Ansonsten habe ich den 'ticket_amount'= NoneType Fehler gesehen. Habe ich die sauberen Methoden falsch umgesetzt?

+0

poste die Ausgabe von 'print (self.cleaned_data)' –

+3

NA: versuche, 'return ticket_amount' bei der letzten Methode' clean_ticket_amount' hinzuzufügen. –

Antwort

0

Die Antwort ist return ticket_amount am Ende der Methode zu setzen.