notice/apps/envs/views.py

31 lines
1010 B
Python

from rest_framework.decorators import action
from .models import Envs
from . import serializers
from rest_framework.viewsets import ModelViewSet
from rest_framework import filters
from rest_framework import permissions
from utils.mixins import GetDataMinxin
class EnvView(ModelViewSet, GetDataMinxin):
queryset = Envs.objects.all()
serializer_class = serializers.EnvsModelSerializer
# filter_backends = [filters.SearchFilter, filters.OrderingFilter]
# search_fields = ['id', 'name', 'tester']
# ordering_fields = ['name', 'tester']
# permission_classes = [permissions.IsAuthenticated]
@action(detail=False)
def names(self, request, *args, **kwargs):
"""获取所有的环境名称"""
response = super().list(request, *args, **kwargs)
return response
def get_serializer_class(self):
if self.action == "names":
return serializers.EnvsNameSerializer
else:
return super(EnvView, self).get_serializer_class()