don't use SubfieldBase (#24869)

This commit is contained in:
Emmanuel Cazenave 2018-07-12 17:00:29 +02:00
parent 30708c0c7c
commit af036b783d
1 changed files with 6 additions and 2 deletions

View File

@ -40,7 +40,6 @@ except ImportError:
class PickledObjectField(models.Field):
__metaclass__ = models.SubfieldBase
def to_python(self, value):
if isinstance(value, PickledObject):
@ -54,6 +53,9 @@ class PickledObjectField(models.Field):
# If an error was raised, just return the plain value
return value
def from_db_value(self, value, expression, connection, context):
return self.to_python(value)
def get_db_prep_save(self, value, connection):
if value is not None and not isinstance(value, PickledObject):
value = PickledObject(pickle.dumps(value))
@ -117,7 +119,6 @@ class MultiSelectFormField(forms.MultipleChoiceField):
return value
class MultiSelectField(models.Field):
__metaclass__ = models.SubfieldBase
def get_internal_type(self):
return "CharField"
@ -158,6 +159,9 @@ class MultiSelectField(models.Field):
return value
return value.split(",")
def from_db_value(self, value, expression, connection, context):
return self.to_python(value)
def contribute_to_class(self, cls, name):
super(MultiSelectField, self).contribute_to_class(cls, name)
if self.choices: