Minor refactoring of extra_null_values

This commit is contained in:
Itai Shirav 2017-06-23 11:10:49 +03:00
parent 7d3b3129c5
commit 2c0ef08ee1

View File

@ -177,7 +177,7 @@ class BaseIntField(Field):
raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value)) raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value))
def to_db_string(self, value, quote=True): def to_db_string(self, value, quote=True):
# There's no need to call escape since numbers do not contain # There's no need to call escape since numbers do not contain
# special characters, and never need quoting # special characters, and never need quoting
return text_type(value) return text_type(value)
@ -253,7 +253,7 @@ class BaseFloatField(Field):
raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value)) raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value))
def to_db_string(self, value, quote=True): def to_db_string(self, value, quote=True):
# There's no need to call escape since numbers do not contain # There's no need to call escape since numbers do not contain
# special characters, and never need quoting # special characters, and never need quoting
return text_type(value) return text_type(value)
@ -370,10 +370,9 @@ class NullableField(Field):
def __init__(self, inner_field, default=None, alias=None, materialized=None, def __init__(self, inner_field, default=None, alias=None, materialized=None,
extra_null_values=None): extra_null_values=None):
self.inner_field = inner_field self.inner_field = inner_field
if extra_null_values is None: self._null_values = [None]
self._extra_null_values = list() if extra_null_values:
else: self._null_values.extend(extra_null_values)
self._extra_null_values = extra_null_values
super(NullableField, self).__init__(default, alias, materialized) super(NullableField, self).__init__(default, alias, materialized)
def to_python(self, value, timezone_in_use): def to_python(self, value, timezone_in_use):
@ -385,7 +384,7 @@ class NullableField(Field):
value is None or self.inner_field.validate(value) value is None or self.inner_field.validate(value)
def to_db_string(self, value, quote=True): def to_db_string(self, value, quote=True):
if value is None or value in self._extra_null_values: if value in self._null_values:
return '\\N' return '\\N'
return self.inner_field.to_db_string(value, quote=quote) return self.inner_field.to_db_string(value, quote=quote)