mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[1.7.x] Fixed #23770 -- Changed serialization strategy for floats with respect to NaN and Inf
Thanks to w0rp for the report
Backport of c7c098cf97 from master.
This commit is contained in:
committed by
Baptiste Mispelon
parent
77209e783c
commit
1f50ea730e
@@ -1,10 +1,11 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import datetime
|
||||
import inspect
|
||||
import decimal
|
||||
import collections
|
||||
import datetime
|
||||
import decimal
|
||||
from importlib import import_module
|
||||
import inspect
|
||||
import math
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
@@ -303,7 +304,11 @@ class MigrationWriter(object):
|
||||
elif isinstance(value, SettingsReference):
|
||||
return "settings.%s" % value.setting_name, set(["from django.conf import settings"])
|
||||
# Simple types
|
||||
elif isinstance(value, six.integer_types + (float, bool, type(None))):
|
||||
elif isinstance(value, float):
|
||||
if math.isnan(value) or math.isinf(value):
|
||||
return 'float("{}")'.format(value), set()
|
||||
return repr(value), set()
|
||||
elif isinstance(value, six.integer_types + (bool, type(None))):
|
||||
return repr(value), set()
|
||||
elif isinstance(value, six.binary_type):
|
||||
value_repr = repr(value)
|
||||
|
||||
Reference in New Issue
Block a user