Skip to content

Commit 6d4c85f

Browse files
author
Ryan Allen
committed
only allow integer field to accept integers and strings, fixes #2835
1 parent ecb37f5 commit 6d4c85f

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

rest_framework/fields.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ def to_internal_value(self, data):
682682
self.fail('max_string_length')
683683

684684
try:
685-
data = int(data)
685+
data = int(re.compile(r'\.0*\s*$').sub('', str(data)))
686686
except (ValueError, TypeError):
687687
self.fail('invalid')
688688
return data

tests/test_fields.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,8 @@ class TestIntegerField(FieldValues):
552552
0.0: 0
553553
}
554554
invalid_inputs = {
555-
'abc': ['A valid integer is required.']
555+
'abc': ['A valid integer is required.'],
556+
0.5: ['A valid integer is required.']
556557
}
557558
outputs = {
558559
'1': 1,

0 commit comments

Comments
 (0)