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 django_filters import rest_framework as filters
from .models import TDevice from .models import TDevice, DoorAuth
class TDeviceFilterSet(filters.FilterSet): class TDeviceFilterSet(filters.FilterSet):
@ -15,3 +15,14 @@ class TDeviceFilterSet(filters.FilterSet):
elif value == 'used': elif value == 'used':
queryset = queryset.exclude(employee=None) queryset = queryset.exclude(employee=None)
return queryset 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.models import BltBind, TDevice, Tlog, DoorAuth
from apps.third.serializers import BindAreaSerializer, BltBindCreateSerializer, BltQuerySerializer, BltSerializer, LabelLocationSerializer, TDeviceSerializer, TDeviceUpdateSerializer, TlogSerializer, DoorAuthSerializer from apps.third.serializers import BindAreaSerializer, BltBindCreateSerializer, BltQuerySerializer, BltSerializer, LabelLocationSerializer, TDeviceSerializer, TDeviceUpdateSerializer, TlogSerializer, DoorAuthSerializer
from apps.utils.viewsets import CustomGenericViewSet from apps.utils.viewsets import CustomGenericViewSet
@ -549,7 +549,7 @@ class DoorAuthViewSet(ListModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'delete': 'doorauth.delete'} perms_map = {'get': '*', 'delete': 'doorauth.delete'}
queryset = DoorAuth.objects.all() queryset = DoorAuth.objects.all()
serializer_class = DoorAuthSerializer serializer_class = DoorAuthSerializer
filterset_fields = ['dchannel', 'employee'] filterset_class = DoorAuthFilter
select_related_fields = ['dchannel', 'employee'] select_related_fields = ['dchannel', 'employee']
search_fields = ['employee__name'] search_fields = ['employee__name']
ordering = '-create_time' ordering = '-create_time'