Commit 388bb5bd authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #22936 -- Obsoleted Field.get_prep_lookup()/get_db_prep_lookup()

Thanks Tim Graham for completing the initial patch.
parent 1206eea1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -232,6 +232,9 @@ class BooleanFieldListFilter(FieldListFilter):
        self.lookup_val = request.GET.get(self.lookup_kwarg)
        self.lookup_val2 = request.GET.get(self.lookup_kwarg2)
        super(BooleanFieldListFilter, self).__init__(field, request, params, model, model_admin, field_path)
        if (self.used_parameters and self.lookup_kwarg in self.used_parameters and
                self.used_parameters[self.lookup_kwarg] in ('1', '0')):
            self.used_parameters[self.lookup_kwarg] = bool(int(self.used_parameters[self.lookup_kwarg]))

    def expected_parameters(self):
        return [self.lookup_kwarg, self.lookup_kwarg2]
+0 −1
Original line number Diff line number Diff line
@@ -128,7 +128,6 @@ def url_params_from_lookup_dict(lookups):
            if isinstance(v, (tuple, list)):
                v = ','.join(str(x) for x in v)
            elif isinstance(v, bool):
                # See django.db.fields.BooleanField.get_prep_lookup
                v = ('0', '1')[v]
            else:
                v = six.text_type(v)
+0 −7
Original line number Diff line number Diff line
@@ -316,13 +316,6 @@ class GeometryField(GeoSelectFormatMixin, BaseSpatialField):
            params = [connection.ops.Adapter(value)]
        return params

    def get_prep_lookup(self, lookup_type, value):
        if lookup_type == 'contains':
            # 'contains' name might conflict with the "normal" contains lookup,
            # for which the value is not prepared, but left as-is.
            return self.get_prep_value(value)
        return super(GeometryField, self).get_prep_lookup(lookup_type, value)

    def get_db_prep_save(self, value, connection):
        "Prepares the value for saving in the database."
        if not value:
+0 −7
Original line number Diff line number Diff line
@@ -31,13 +31,6 @@ class JSONField(Field):
            return Json(value)
        return value

    def get_prep_lookup(self, lookup_type, value):
        if lookup_type in ('has_key', 'has_keys', 'has_any_keys'):
            return value
        if isinstance(value, (dict, list)):
            return Json(value)
        return super(JSONField, self).get_prep_lookup(lookup_type, value)

    def validate(self, value, model_instance):
        super(JSONField, self).validate(value, model_instance)
        try:
+1 −1
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@ class RangeContainedBy(models.Lookup):
        return sql % (lhs, rhs), params

    def get_prep_lookup(self):
        return RangeField().get_prep_lookup(self.lookup_name, self.rhs)
        return RangeField().get_prep_value(self.rhs)


models.DateField.register_lookup(RangeContainedBy)
Loading