Example #1
0
    def queryset(self, request, queryset):
        if self.form.is_valid():
            # get no null params
            filter_params = clean_input_prefix(
                dict(
                    filter(lambda x: bool(x[1]),
                           self.form.cleaned_data.items())))

            filter_params['timestamp__lte'] = filter_params.pop(
                'fake_date_event__lte', None)
            filter_params['timestamp__gte'] = filter_params.pop(
                'fake_date_event__gte', None)

            if filter_params['timestamp__lte'] is None:
                filter_params.pop('timestamp__lte', None)
            if filter_params['timestamp__gte'] is None:
                filter_params.pop('timestamp__gte', None)
            if filter_params:
                # filter by upto included
                # lookup_upto = self.lookup_kwarg_upto.lstrip(FILTER_PREFIX)
                # if filter_params.get(lookup_upto) is not None:
                #     lookup_kwarg_upto_value = filter_params.pop(lookup_upto)
                #     filter_params['timestamp__lt'] = lookup_kwarg_upto_value + datetime.timedelta(days=1)
                affected_pks = Log.objects.filter(**filter_params).values_list(
                    'object_id', flat=True).distinct()

                return queryset.filter(pk__in=affected_pks)
        else:
            return queryset
 def test_doesnt_raise_error_if_dict_key_doesnt_start_with_prefix(self):
     input_ = {'some_field__gte': None}
     self.assertEquals(clean_input_prefix(input_),
                       {'some_field__gte': None})
 def test_doesnt_raise_error_if_dict_key_doesnt_start_with_prefix(self):
     input_ = {'some_field__gte': None}
     self.assertEquals(clean_input_prefix(input_), {'some_field__gte': None})
 def test_removes_prefix(self):
     input_ = {'MY_CUSTOM_PREFIX___some_field__gte': None}
     self.assertEquals(clean_input_prefix(input_),
                       {'some_field__gte': None})
 def test_removes_prefix(self):
     input_ = {'MY_CUSTOM_PREFIX___some_field__gte': None}
     self.assertEquals(clean_input_prefix(input_), {'some_field__gte': None})