Python rest_framework.filters.DjangoFilterBackend() Examples
The following are 5
code examples of rest_framework.filters.DjangoFilterBackend().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
rest_framework.filters
, or try the search function
.
Example #1
Source File: filter.py From py2swagger with MIT License | 6 votes |
def get_filter_introspectors(view): from rest_framework import filters try: from django_filters.rest_framework.backends \ import DjangoFilterBackend as third_party_django_filter_backend except ImportError: third_party_django_filter_backend = filters.DjangoFilterBackend filters_map = { third_party_django_filter_backend: DjangoFilterBackendIntrospector, filters.DjangoFilterBackend: DjangoFilterBackendIntrospector, filters.OrderingFilter: OrderingFilterBackendIntrospector, } filter_backends = getattr(view, 'filter_backends', []) introspectors = [] for backend in filter_backends: backend = backend if inspect.isclass(backend) else backend.__class__ introspectors.append( filters_map.get(backend, BaseFilterBackendIntrospector)(view, backend) ) return introspectors
Example #2
Source File: test_restframework.py From django-elasticsearch with MIT License | 6 votes |
def test_fallback_gracefully(self): # Note: can't use override settings because of how restframework handle settings :( #from django_elasticsearch.tests.urls import TestViewSet from rest_framework.filters import DjangoFilterBackend, OrderingFilter from rest_framework.settings import api_settings api_settings.DEFAULT_FILTER_BACKENDS = (DjangoFilterBackend, OrderingFilter) # TODO: better way to fake es cluster's death ? with mock.patch.object(es_client, 'search') as mock_search: mock_search.side_effect = TransportError() with mock.patch.object(es_client, 'count') as mock_count: mock_count.side_effect = TransportError() with mock.patch.object(es_client, 'get') as mock_get: mock_get.side_effect = TransportError() # should fallback to a regular django queryset / filtering r = self.client.get('/rf/tests/') self.assertEqual(r.status_code, 200) self.assertEqual(r.data['filter_status'], 'Failed') self.assertEqual(r.data['count'], 3) self._test_filter_backend_filters() self._test_pagination()
Example #3
Source File: test_unit.py From drf-schema-adapter with MIT License | 6 votes |
def test_viewset_factory(self): viewset = self.endpoint.get_viewset() self.assertEqual(viewset.serializer_class, self.endpoint.get_serializer()) for backend in (DjangoFilterBackend, filters.SearchFilter): self.assertNotIn(backend, viewset.filter_backends) self.assertEqual(viewset.__name__, 'ProductViewSet') viewset = self.alternate_endpoint.get_viewset() for attr in ('permission_classes', 'filter_fields', 'search_fields', 'ordering_fields'): self.assertEqual(list(getattr(viewset, attr)), list(getattr(self, attr))) for backend in ('DjangoFilterBackend', 'SearchFilter', 'OrderingFilter'): self.assertIn(backend, [be.__name__ for be in viewset.filter_backends]) self.assertEqual(viewset.pagination_class.__name__, 'ProductPagination') self.assertTrue(issubclass( viewset.pagination_class, pagination.PageNumberPagination ))
Example #4
Source File: test_filter_introspector.py From py2swagger with MIT License | 5 votes |
def test_parameters(self): expected_result = [ OrderedDict({ 'in': 'query', 'name': 'test_filter_field_1', 'type': 'string', 'required': False, 'description': 'Filter parameter', }), OrderedDict({ 'in': 'query', 'name': 'test_filter_field_2', 'type': 'string', 'required': False, 'description': 'Filter parameter', }), OrderedDict({ 'in': 'query', 'name': 'o', 'type': 'string', 'description': 'Ordering parameter', 'enum': ['test_filter_field_1', 'test_filter_field_2', '-test_filter_field_1', '-test_filter_field_2'], }), ] instance = TestDjangoFilterBackendView() introspector = DjangoFilterBackendIntrospector(instance, DjangoFilterBackend) self.assertEqual(sorted(expected_result[0]), sorted(introspector.parameters[0])) self.assertEqual(sorted(expected_result[1]), sorted(introspector.parameters[1])) self.assertEqual(sorted(expected_result[2]), sorted(introspector.parameters[2]))
Example #5
Source File: test_unit.py From drf-schema-adapter with MIT License | 5 votes |
def test_inheritance(self): class DummyEndpoint(Endpoint): model = Product permission_classes = self.permission_classes filter_fields = self.filter_fields search_fields = self.search_fields ordering_fields = self.ordering_fields endpoint = DummyEndpoint() self.assertEqual(endpoint.model, Product) self.assertEqual(len(endpoint.get_fields_for_serializer()), len(self.fields) + 1) for field in self.fields: self.assertIn(field, endpoint.get_fields_for_serializer()) self.assertIn('__str__', endpoint.get_fields_for_serializer()) serializer = endpoint.get_serializer() self.assertEqual(serializer.Meta.model, Product) self.assertEqual(len(serializer().fields.items()), len(self.endpoint.get_fields_for_serializer())) viewset = endpoint.get_viewset() for attr in ('permission_classes', 'filter_fields', 'search_fields', 'ordering_fields'): self.assertEqual(list(getattr(viewset, attr)), list(getattr(self, attr))) for backend in ('DjangoFilterBackend', 'SearchFilter', 'OrderingFilter'): self.assertIn(backend, [be.__name__ for be in viewset.filter_backends])