This commit is contained in:
Ryan Allen 2015-04-24 00:56:59 +00:00
commit ab781eb797
2 changed files with 7 additions and 3 deletions

View File

@ -678,18 +678,21 @@ class IntegerField(Field):
message = self.error_messages['min_value'].format(min_value=self.min_value)
self.validators.append(MinValueValidator(self.min_value, message=message))
def coerce_to_int(self, value):
return int(self.re_decimal.sub('', str(value)))
def to_internal_value(self, data):
if isinstance(data, six.text_type) and len(data) > self.MAX_STRING_LENGTH:
self.fail('max_string_length')
try:
data = int(self.re_decimal.sub('', str(data)))
data = self.coerce_to_int(data)
except (ValueError, TypeError):
self.fail('invalid')
return data
def to_representation(self, value):
return int(value)
return self.coerce_to_int(value)
class FloatField(Field):

View File

@ -563,7 +563,8 @@ class TestIntegerField(FieldValues):
1: 1,
0: 0,
1.0: 1,
0.0: 0
0.0: 0,
'1.0': 1
}
field = serializers.IntegerField()