diff --git a/python/nav/auditlog/api.py b/python/nav/auditlog/api.py index 34fb024b4f..9903134ee4 100644 --- a/python/nav/auditlog/api.py +++ b/python/nav/auditlog/api.py @@ -137,6 +137,6 @@ class LogEntryViewSet(NAVDefaultsMixin, viewsets.ReadOnlyModelViewSet): ) queryset = LogEntry.objects.all() serializer_class = LogEntrySerializer - filter_fields = ('subsystem', 'object_pk', 'verb') + filterset_fields = ('subsystem', 'object_pk', 'verb') search_fields = ('summary',) ordering = ('timestamp',) diff --git a/python/nav/web/api/v1/views.py b/python/nav/web/api/v1/views.py index 72a47fa89d..09dd50975d 100644 --- a/python/nav/web/api/v1/views.py +++ b/python/nav/web/api/v1/views.py @@ -279,7 +279,7 @@ class AccountViewSet(NAVAPIMixin, viewsets.ModelViewSet): queryset = profiles.Account.objects.all() serializer_class = serializers.AccountSerializer - filter_fields = ('login', 'ext_sync') + filterset_fields = ('login', 'ext_sync') search_fields = ('name',) @@ -319,7 +319,7 @@ class RoomViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelViewSet): queryset = manage.Room.objects.all() serializer_class = serializers.RoomSerializer - filter_fields = ('location', 'description') + filterset_fields = ('location', 'description') class LocationViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelViewSet): @@ -337,7 +337,7 @@ class LocationViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelViewSet): queryset = manage.Location.objects.all() serializer_class = serializers.LocationSerializer - filter_fields = ('id', 'parent') + filterset_fields = ('id', 'parent') search_fields = ('description',) @@ -356,7 +356,7 @@ class UnrecognizedNeighborViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): queryset = manage.UnrecognizedNeighbor.objects.all() serializer_class = serializers.UnrecognizedNeighborSerializer - filter_fields = ('netbox', 'source') + filterset_fields = ('netbox', 'source') search_fields = ('remote_name',) @@ -390,7 +390,7 @@ class NetboxViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelViewSet): queryset = manage.Netbox.objects.all() serializer_class = serializers.NetboxSerializer - filter_fields = ( + filterset_fields = ( 'ip', 'sysname', 'room', @@ -493,7 +493,7 @@ class InterfaceViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): # NaturalIfnameFilter returns a list, so IfClassFilter needs to come first filter_backends = NAVAPIMixin.filter_backends + (IfClassFilter, NaturalIfnameFilter) - filter_class = InterfaceFilterClass + filterset_class = InterfaceFilterClass def get_serializer_class(self): request = self.request @@ -556,7 +556,7 @@ class PatchViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): 'cabling__room', 'interface__netbox' ).all() serializer_class = serializers.PatchSerializer - filter_fields = ('cabling', 'cabling__room', 'interface', 'interface__netbox') + filterset_fields = ('cabling', 'cabling__room', 'interface', 'interface__netbox') search_fields = ('cabling__jack',) @@ -579,7 +579,7 @@ class CablingViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): """ serializer_class = serializers.CablingSerializer - filter_fields = ('room', 'jack', 'building', 'target_room', 'category') + filterset_fields = ('room', 'jack', 'building', 'target_room', 'category') search_fields = ('jack', 'target_room', 'building') def get_queryset(self): @@ -663,7 +663,7 @@ class CamViewSet(MachineTrackerViewSet): model_class = manage.Cam serializer_class = serializers.CamSerializer - filter_fields = ('netbox', 'ifindex', 'port') + filterset_fields = ('netbox', 'ifindex', 'port') def list(self, request): """Override list so that we can control what is returned""" @@ -705,7 +705,7 @@ class ArpViewSet(MachineTrackerViewSet): model_class = manage.Arp serializer_class = serializers.ArpSerializer - filter_fields = ('netbox', 'prefix') + filterset_fields = ('netbox', 'prefix') def list(self, request): """Override list so that we can control what is returned""" @@ -751,7 +751,7 @@ class VlanViewSet(NAVAPIMixin, viewsets.ModelViewSet): queryset = manage.Vlan.objects.all() serializer_class = serializers.VlanSerializer - filter_fields = [ + filterset_fields = [ 'vlan', 'net_type', 'net_ident', @@ -775,7 +775,7 @@ class PrefixViewSet(NAVAPIMixin, viewsets.ModelViewSet): queryset = manage.Prefix.objects.all() serializer_class = serializers.PrefixSerializer - filter_fields = ('vlan', 'net_address', 'vlan__vlan') + filterset_fields = ('vlan', 'net_address', 'vlan__vlan') @action(detail=False) def search(self, request): @@ -1049,7 +1049,7 @@ class RackViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): queryset = rack.Rack.objects.all() serializer_class = serializers.RackSerializer - filter_fields = ['room', 'rackname'] + filterset_fields = ['room', 'rackname'] search_fields = ['rackname'] diff --git a/requirements/base.txt b/requirements/base.txt index d278041d16..ab6caa2fe8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -19,6 +19,7 @@ Markdown==3.3.6 feedparser==6.0.8 dnspython==1.15.0 +django-filter>=2 djangorestframework>=3.12,<3.13 # REST framework diff --git a/requirements/django22.txt b/requirements/django22.txt index 0d53c23859..5009ae8303 100644 --- a/requirements/django22.txt +++ b/requirements/django22.txt @@ -1,4 +1,3 @@ Django>=2.2,<2.3 -django-filter>=2 django-crispy-forms>=1.7,<1.8 crispy-forms-foundation>=0.7,<0.8 diff --git a/requirements/django32.txt b/requirements/django32.txt index 406dcc5e2e..07295a87c9 100644 --- a/requirements/django32.txt +++ b/requirements/django32.txt @@ -1,2 +1 @@ Django>=3.2,<3.3 -django-filter>=2