feat: doorauth增加查询条件

This commit is contained in:
caoqianming 2023-10-09 15:34:35 +08:00
parent 3b0710626a
commit 4ca344a86a
2 changed files with 14 additions and 3 deletions

View File

@ -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"],
}

View File

@ -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'