Files
django-ram/ram/roster/views.py
2022-07-16 21:00:17 +02:00

39 lines
1.1 KiB
Python

from rest_framework.generics import ListAPIView, RetrieveAPIView
from rest_framework.schemas.openapi import AutoSchema
from roster.models import RollingStock
from roster.serializers import RollingStockSerializer
class RosterList(ListAPIView):
queryset = RollingStock.objects.all()
serializer_class = RollingStockSerializer
class RosterGet(RetrieveAPIView):
queryset = RollingStock.objects.all()
serializer_class = RollingStockSerializer
lookup_field = "uuid"
schema = AutoSchema(operation_id_base="retrieveRollingStockByUUID")
class RosterAddress(ListAPIView):
serializer_class = RollingStockSerializer
schema = AutoSchema(operation_id_base="retrieveRollingStockByAddress")
def get_queryset(self):
address = self.kwargs["address"]
return RollingStock.objects.filter(address=address)
class RosterClass(ListAPIView):
serializer_class = RollingStockSerializer
schema = AutoSchema(operation_id_base="retrieveRollingStockByClass")
def get_queryset(self):
_class = self.kwargs["class"]
return RollingStock.objects.filter(rolling_class__identifier=_class)