mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 13:17:50 +02:00
39 lines
1.1 KiB
Python
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)
|