31 lines
1010 B
Python
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()
|