demo-int-table/back/object/views.py

32 lines
849 B
Python

from rest_framework import viewsets
import django_filters
from .models import ClickableArea, Element3D
from .serializers import ClickableAreaSerializer, Element3DSerializer
class ClickableAreaViewSet(viewsets.ModelViewSet):
queryset = ClickableArea.objects.all()
serializer_class = ClickableAreaSerializer
class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
pass
class Element3DFilter(django_filters.rest_framework.FilterSet):
parent = NumberInFilter(
field_name="parent",
lookup_expr="in",
)
parent__isnull = django_filters.BooleanFilter(
field_name="parent",
lookup_expr="isnull",
)
class Element3DViewSet(viewsets.ModelViewSet):
queryset = Element3D.objects.all()
serializer_class = Element3DSerializer
filterset_class = Element3DFilter