The default empty value is now quantized according to the specified decimal_places argument.

This commit is contained in:
Omer Katz 2014-02-12 21:10:46 +02:00
parent e56ba33d1b
commit 3038e2b07f

View File

@ -849,7 +849,6 @@ class DecimalField(WritableField):
type_name = 'DecimalField' type_name = 'DecimalField'
type_label = 'decimal' type_label = 'decimal'
form_field_class = forms.DecimalField form_field_class = forms.DecimalField
empty = Decimal('0')
default_error_messages = { default_error_messages = {
'invalid': _('Enter a number.'), 'invalid': _('Enter a number.'),
@ -863,6 +862,7 @@ class DecimalField(WritableField):
def __init__(self, max_value=None, min_value=None, max_digits=None, decimal_places=None, *args, **kwargs): def __init__(self, max_value=None, min_value=None, max_digits=None, decimal_places=None, *args, **kwargs):
self.max_value, self.min_value = max_value, min_value self.max_value, self.min_value = max_value, min_value
self.max_digits, self.decimal_places = max_digits, decimal_places self.max_digits, self.decimal_places = max_digits, decimal_places
self.empty = Decimal('0').qauntize(Decimal('.%s1' % ('0' * self.decimal_places)))
super(DecimalField, self).__init__(*args, **kwargs) super(DecimalField, self).__init__(*args, **kwargs)
if max_value is not None: if max_value is not None: