add support for django 1.11 removing models.SubfieldBase (#21489)

This commit is contained in:
Elias Showk 2018-05-25 15:47:16 +02:00
parent 574d550b96
commit b0a410c540
1 changed files with 14 additions and 2 deletions

View File

@ -40,7 +40,13 @@ except ImportError:
class PickledObjectField(models.Field):
__metaclass__ = models.SubfieldBase
def from_db_value(self, value, expression, connection, context):
"""
return a python value
the reverse of Field.get_prep_value()
"""
return self.to_python(value)
def to_python(self, value):
if isinstance(value, PickledObject):
@ -117,7 +123,6 @@ class MultiSelectFormField(forms.MultipleChoiceField):
return value
class MultiSelectField(models.Field):
__metaclass__ = models.SubfieldBase
def get_internal_type(self):
return "CharField"
@ -153,6 +158,13 @@ class MultiSelectField(models.Field):
if not value and not self.blank:
raise ValidationError(self.error_messages['blank'])
def from_db_value(self, value, expression, connection, context):
"""
return a python value
the reverse of Field.get_prep_value()
"""
return self.to_python(value)
def to_python(self, value):
if isinstance(value, list):
return value