26 lines
777 B
Python
26 lines
777 B
Python
# Create your views here.
|
|
from rest_framework import viewsets
|
|
from .models import Area
|
|
from .serializers import AreaSerializer
|
|
from utils.paginator import BasicSetPagination
|
|
from django_filters import rest_framework
|
|
|
|
|
|
class AreaFilter(rest_framework.FilterSet):
|
|
level = rest_framework.NumberFilter(field_name="level", lookup_expr="exact")
|
|
parent_code = rest_framework.CharFilter(field_name="parent_code", lookup_expr="exact")
|
|
|
|
class Meta:
|
|
model = Area
|
|
fields = "__all__"
|
|
|
|
|
|
class AreaViewSet(viewsets.ModelViewSet):
|
|
queryset = Area.objects.all()
|
|
serializer_class = AreaSerializer
|
|
pagination_class = BasicSetPagination
|
|
filter_backends = [
|
|
rest_framework.DjangoFilterBackend,
|
|
] # 过滤器
|
|
filterset_class = AreaFilter
|