File tree Expand file tree Collapse file tree 3 files changed +21
-0
lines changed
Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -16,3 +16,14 @@ def test_django_filter_compatibility(self):
1616
1717 self .assertEqual (len (response .data ), 1 )
1818 self .assertEqual (response .data [0 ]['username' ], 'user1' )
19+
20+ def test_filter_fields_reusability (self ):
21+ # Ensure auto-generated FilterSet is reusable w/ filter_fields. See:
22+ # https://github.com/philipn/django-rest-framework-filters/issues/81
23+ response = self .client .get ('/ff-users/' , {'username' : 'user1' }, content_type = 'json' )
24+ self .assertEqual (len (response .data ), 1 )
25+ self .assertEqual (response .data [0 ]['username' ], 'user1' )
26+
27+ response = self .client .get ('/ff-users/' , {'username' : 'user1' }, content_type = 'json' )
28+ self .assertEqual (len (response .data ), 1 )
29+ self .assertEqual (response .data [0 ]['username' ], 'user1' )
Original file line number Diff line number Diff line change 77
88router = routers .DefaultRouter ()
99router .register (r'df-users' , views .DFUserViewSet , base_name = 'df-users' )
10+ router .register (r'ff-users' , views .FilterFieldsUserViewSet , base_name = 'ff-users' )
1011router .register (r'users' , views .UserViewSet ,)
1112router .register (r'notes' , views .NoteViewSet ,)
1213
Original file line number Diff line number Diff line change @@ -16,6 +16,15 @@ class DFUserViewSet(viewsets.ModelViewSet):
1616 filter_class = DFUserFilter
1717
1818
19+ class FilterFieldsUserViewSet (viewsets .ModelViewSet ):
20+ queryset = User .objects .all ()
21+ serializer_class = UserSerializer
22+ filter_backends = (backends .DjangoFilterBackend , )
23+ filter_fields = {
24+ 'username' : '__all__' ,
25+ }
26+
27+
1928class UserViewSet (viewsets .ModelViewSet ):
2029 queryset = User .objects .all ()
2130 serializer_class = UserSerializer
You can’t perform that action at this time.
0 commit comments