Adapt to 1.3 signature for fields methods

This commit is contained in:
Benjamin Dauvergne 2011-04-26 16:08:14 +02:00
parent 207a9b8320
commit 53757c9157
1 changed files with 12 additions and 7 deletions

View File

@ -43,7 +43,7 @@ class PickledObjectField(models.Field):
# If an error was raised, just return the plain value
return value
def get_db_prep_save(self, value):
def get_db_prep_save(self, value, connection):
if value is not None and not isinstance(value, PickledObject):
value = PickledObject(pickle.dumps(value))
return value
@ -54,13 +54,18 @@ class PickledObjectField(models.Field):
def value_to_string(self, obj):
return PickledObject(pickle.dumps(obj))
def get_db_prep_lookup(self, lookup_type, value):
def get_db_prep_lookup(self, lookup_type, value, connection,
prepared=False):
if lookup_type == 'exact':
value = self.get_db_prep_save(value)
return super(PickledObjectField, self).get_db_prep_lookup(lookup_type, value)
value = self.get_db_prep_save(value, connection)
return super(PickledObjectField, self) \
.get_db_prep_lookup(lookup_type, value, connection,
prepared=prepared)
elif lookup_type == 'in':
value = [self.get_db_prep_save(v) for v in value]
return super(PickledObjectField, self).get_db_prep_lookup(lookup_type, value)
value = [self.get_db_prep_save(v, connection) for v in value]
return super(PickledObjectField, self) \
.get_db_prep_lookup(lookup_type, value, connection,
prepared=prepared)
else:
raise TypeError('Lookup type %s is not supported.' % lookup_type)
@ -122,7 +127,7 @@ class MultiSelectField(models.Field):
defaults.update(kwargs)
return MultiSelectFormField(**defaults)
def get_db_prep_value(self, value):
def get_db_prep_value(self, value, connection, prepared=False):
if isinstance(value, basestring):
return value
elif isinstance(value, list):