From 7a5cffac9167ef01d75f33b5673f0d16d8c5ae09 Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Wed, 15 Nov 2023 14:50:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=B9=E8=B1=A1=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=97=A0=E6=B3=95=E8=87=AA=E5=8A=A8=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/api/component/storage.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/terminal/api/component/storage.py b/apps/terminal/api/component/storage.py index cf0a8a42a..9f0b2a94f 100644 --- a/apps/terminal/api/component/storage.py +++ b/apps/terminal/api/component/storage.py @@ -3,12 +3,14 @@ from django.utils.translation import gettext_lazy as _ from django_filters import utils +from django_filters import rest_framework as drf_filters from rest_framework import viewsets, generics, status from rest_framework.decorators import action from rest_framework.request import Request from rest_framework.response import Response from common.const.http import GET +from common.drf.filters import BaseFilterSet from terminal import const from terminal.filters import CommandStorageFilter, CommandFilter, CommandFilterForStorageTree from terminal.models import CommandStorage, ReplayStorage @@ -102,11 +104,19 @@ class CommandStorageViewSet(BaseStorageViewSetMixin, viewsets.ModelViewSet): return Response(data=nodes) +class ReplayStorageFilterSet(BaseFilterSet): + type_not = drf_filters.CharFilter(field_name='type', exclude=True) + + class Meta: + model = ReplayStorage + fields = ['name', 'type', 'is_default', 'type_not'] + + class ReplayStorageViewSet(BaseStorageViewSetMixin, viewsets.ModelViewSet): - filterset_fields = ('name', 'type', 'is_default') - search_fields = filterset_fields + search_fields = ('name', 'type', 'is_default') queryset = ReplayStorage.objects.all() serializer_class = ReplayStorageSerializer + filterset_class = ReplayStorageFilterSet class BaseStorageTestConnectiveMixin: