diff --git a/apps/third/filters.py b/apps/third/filters.py index db4fe150..c356f687 100644 --- a/apps/third/filters.py +++ b/apps/third/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from .models import TDevice +from .models import TDevice, DoorAuth class TDeviceFilterSet(filters.FilterSet): @@ -15,3 +15,14 @@ class TDeviceFilterSet(filters.FilterSet): elif value == 'used': queryset = queryset.exclude(employee=None) return queryset + + +class DoorAuthFilter(filters.FilterSet): + class Meta: + model = DoorAuth + fields = { + "employee": ["exact", "in"], + "dchannel": ["exact", "in"], + "employee__type": ["exact", "in"], + "employee__belong_dept": ["exact", "in"], + } diff --git a/apps/third/views_d.py b/apps/third/views_d.py index 8f9bf9c8..1990ae41 100644 --- a/apps/third/views_d.py +++ b/apps/third/views_d.py @@ -1,4 +1,4 @@ -from apps.third.filters import TDeviceFilterSet +from apps.third.filters import TDeviceFilterSet, DoorAuthFilter from apps.third.models import BltBind, TDevice, Tlog, DoorAuth from apps.third.serializers import BindAreaSerializer, BltBindCreateSerializer, BltQuerySerializer, BltSerializer, LabelLocationSerializer, TDeviceSerializer, TDeviceUpdateSerializer, TlogSerializer, DoorAuthSerializer from apps.utils.viewsets import CustomGenericViewSet @@ -549,7 +549,7 @@ class DoorAuthViewSet(ListModelMixin, DestroyModelMixin, CustomGenericViewSet): perms_map = {'get': '*', 'delete': 'doorauth.delete'} queryset = DoorAuth.objects.all() serializer_class = DoorAuthSerializer - filterset_fields = ['dchannel', 'employee'] + filterset_class = DoorAuthFilter select_related_fields = ['dchannel', 'employee'] search_fields = ['employee__name'] ordering = '-create_time'