From 2991156b73090ceaad9b57e662d1235486e91f70 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Thu, 12 Dec 2013 11:35:18 +0200 Subject: [PATCH 1/2] Removed assertion that verifies that the queryset's model and the filterset's model match. --- rest_framework/filters.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/rest_framework/filters.py b/rest_framework/filters.py index 5c6a187c4..470772efd 100644 --- a/rest_framework/filters.py +++ b/rest_framework/filters.py @@ -40,12 +40,6 @@ class DjangoFilterBackend(BaseFilterBackend): filter_fields = getattr(view, 'filter_fields', None) if filter_class: - filter_model = filter_class.Meta.model - - assert issubclass(filter_model, queryset.model), \ - 'FilterSet model %s does not match queryset model %s' % \ - (filter_model, queryset.model) - return filter_class if filter_fields: From f816ef22f793ce3f3ac2b9f3e79bca358ccda53f Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Thu, 12 Dec 2013 11:54:16 +0200 Subject: [PATCH 2/2] Removed irrelevant test. --- rest_framework/tests/test_filters.py | 54 ---------------------------- 1 file changed, 54 deletions(-) diff --git a/rest_framework/tests/test_filters.py b/rest_framework/tests/test_filters.py index 614f45cc7..4d7ccd727 100644 --- a/rest_framework/tests/test_filters.py +++ b/rest_framework/tests/test_filters.py @@ -49,11 +49,6 @@ if django_filters: model = BasicModel fields = ['text'] - class IncorrectlyConfiguredRootView(generics.ListCreateAPIView): - model = FilterableItem - filter_class = MisconfiguredFilter - filter_backends = (filters.DjangoFilterBackend,) - class FilterClassDetailView(generics.RetrieveAPIView): model = FilterableItem filter_class = SeveralFieldsFilter @@ -216,16 +211,6 @@ class IntegrationTestFiltering(CommonFilteringTestCase): f['decimal'] < search_decimal] self.assertEqual(response.data, expected_data) - @unittest.skipUnless(django_filters, 'django-filter not installed') - def test_incorrectly_configured_filter(self): - """ - An error should be displayed when the filter class is misconfigured. - """ - view = IncorrectlyConfiguredRootView.as_view() - - request = factory.get('/') - self.assertRaises(AssertionError, view, request) - @unittest.skipUnless(django_filters, 'django-filter not installed') def test_unknown_filter(self): """ @@ -363,12 +348,6 @@ class OrdringFilterModel(models.Model): text = models.CharField(max_length=100) -class OrderingFilterRelatedModel(models.Model): - related_object = models.ForeignKey(OrdringFilterModel, - related_name="relateds") - - - class OrderingFilterTests(TestCase): def setUp(self): # Sequence of title/text is: @@ -478,36 +457,3 @@ class OrderingFilterTests(TestCase): {'id': 1, 'title': 'zyx', 'text': 'abc'}, ] ) - - def test_ordering_by_aggregate_field(self): - # create some related models to aggregate order by - num_objs = [2, 5, 3] - for obj, num_relateds in zip(OrdringFilterModel.objects.all(), - num_objs): - for _ in range(num_relateds): - new_related = OrderingFilterRelatedModel( - related_object=obj - ) - new_related.save() - - class OrderingListView(generics.ListAPIView): - model = OrdringFilterModel - filter_backends = (filters.OrderingFilter,) - ordering = 'title' - queryset = OrdringFilterModel.objects.all().annotate( - models.Count("relateds")) - - view = OrderingListView.as_view() - request = factory.get('?ordering=relateds__count') - response = view(request) - self.assertEqual( - response.data, - [ - {'id': 1, 'title': 'zyx', 'text': 'abc'}, - {'id': 3, 'title': 'xwv', 'text': 'cde'}, - {'id': 2, 'title': 'yxw', 'text': 'bcd'}, - ] - ) - - -