mirror of
https://github.com/django/django.git
synced 2025-11-20 11:36:04 +00:00
Fixed #29006 -- Fixed DecimalField.clean() crash on sNaN values.
This commit is contained in:
parent
1c95737ebe
commit
c886f3dee3
2 changed files with 2 additions and 1 deletions
|
|
@ -351,7 +351,7 @@ class DecimalField(IntegerField):
|
|||
super().validate(value)
|
||||
if value in self.empty_values:
|
||||
return
|
||||
if not math.isfinite(value):
|
||||
if value.is_nan() or not math.isfinite(value):
|
||||
raise ValidationError(self.error_messages['invalid'], code='invalid')
|
||||
|
||||
def widget_attrs(self, widget):
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ class DecimalFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
|
|||
f = DecimalField(max_digits=4, decimal_places=2)
|
||||
values = (
|
||||
'-NaN', 'NaN', '+NaN',
|
||||
'-sNaN', 'sNaN', '+sNaN',
|
||||
'-Inf', 'Inf', '+Inf',
|
||||
'-Infinity', 'Infinity', '+Infinity',
|
||||
'a', 'łąść', '1.0a', '--0.12',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue