Merge pull request #1240 from gukoff/long_in_floatfield

Added support for long values in FloatFields
This commit is contained in:
Omer Katz
2016-03-18 10:24:53 +02:00
4 changed files with 31 additions and 5 deletions

View File

@@ -8,6 +8,8 @@ import uuid
import warnings
from operator import itemgetter
import six
try:
import dateutil
except ImportError:
@@ -260,10 +262,14 @@ class FloatField(BaseField):
return value
def validate(self, value):
if isinstance(value, int):
value = float(value)
if isinstance(value, six.integer_types):
try:
value = float(value)
except OverflowError:
self.error('The value is too large to be converted to float')
if not isinstance(value, float):
self.error('FloatField only accepts float values')
self.error('FloatField only accepts float and integer values')
if self.min_value is not None and value < self.min_value:
self.error('Float value is too small')