2011-09-15 6 views
9

staram się mieć wartość domyślną dla kilku DecimalFields zdefiniowanych jako 0.00 w mojej klasie modelu, ale nawet kiedy mam to:Set defauls wart DecimalField jako 0.00

price = models.DecimalField(max_digits=8, decimal_places=2, 
       default=Decimal(0.00)) 

dostaję błąd podczas przetwarzania formularza:

ValidationError 
[u'This value must be a decimal number.'] 

na stronie błędu, widzę, że problem jest to, że metoda zapisać dostaje u'' na pustych polach. Jak mogę zapisać 0,00?

Odpowiedz

12

Put cudzysłowie numer:

Decimal('0.00') 
+0

Thanks :) Muszę o tym pamiętać. Nadpisałem również niektóre pola w forms.py i ustawiłem je jako CharFields, stąd u '' dla niektórych. Nie mogę uwierzyć, że przeoczyłem to. –

+0

Eyyy, nie martw się! Gdybym miał dolara za wszystko, co na pozór proste, przeoczyłem ... Miałem dużo dolarów. Przynajmniej pięść. – jathanism

+0

Używam Django 1.3 i akceptuje nie notowane wartości po prostu dobrze .ie default = Decimal (0.00) – vfclists