From b4d8976b923b9835cae65a184919a154838784bc Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Wed, 12 Feb 2014 21:48:58 +0200 Subject: [PATCH] When decimal places is none, don't quantize. --- rest_framework/fields.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index fd1259052..9c604edd1 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -849,6 +849,7 @@ class DecimalField(WritableField): type_name = 'DecimalField' type_label = 'decimal' form_field_class = forms.DecimalField + empty = Decimal('0') default_error_messages = { 'invalid': _('Enter a number.'), @@ -862,7 +863,10 @@ class DecimalField(WritableField): 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_digits, self.decimal_places = max_digits, decimal_places - self.empty = Decimal('0').quantize(Decimal('.%s1' % ('0' * self.decimal_places))) + + if self.decimal_places: + self.empty = Decimal('0').quantize(Decimal('.%s1' % ('0' * self.decimal_places or 0))) + super(DecimalField, self).__init__(*args, **kwargs) if max_value is not None: