mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 07:57:55 +03:00 
			
		
		
		
	Match IntegerField validation with Django's, preventing decimal values being stored as ints, fixes #2835.
Match IntegerField validation with Django IntegerField, prevents decimal values being stored as ints, fixes #2835 On branch master
This commit is contained in:
		
							parent
							
								
									ecb37f518e
								
							
						
					
					
						commit
						1f10a39d31
					
				|  | @ -682,7 +682,7 @@ class IntegerField(Field): | |||
|             self.fail('max_string_length') | ||||
| 
 | ||||
|         try: | ||||
|             data = int(data) | ||||
|             data = int(re.compile(r'\.0*\s*$').sub('', str(data))) | ||||
|         except (ValueError, TypeError): | ||||
|             self.fail('invalid') | ||||
|         return data | ||||
|  |  | |||
|  | @ -549,10 +549,13 @@ class TestIntegerField(FieldValues): | |||
|         1: 1, | ||||
|         0: 0, | ||||
|         1.0: 1, | ||||
|         0.0: 0 | ||||
|         0.0: 0, | ||||
|         '1.0': 1 | ||||
|     } | ||||
|     invalid_inputs = { | ||||
|         'abc': ['A valid integer is required.'] | ||||
|         0.5: ['A valid integer is required.'], | ||||
|         'abc': ['A valid integer is required.'], | ||||
|         '0.5': ['A valid integer is required.'] | ||||
|     } | ||||
|     outputs = { | ||||
|         '1': 1, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user