mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 13:17:50 +02:00
Add consists API
This commit is contained in:
@@ -25,7 +25,11 @@ class Consist(models.Model):
|
||||
|
||||
|
||||
class ConsistItem(models.Model):
|
||||
consist = models.ForeignKey(Consist, on_delete=models.CASCADE)
|
||||
consist = models.ForeignKey(
|
||||
Consist,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="consist_item"
|
||||
)
|
||||
rolling_stock = models.ForeignKey(RollingStock, on_delete=models.CASCADE)
|
||||
order = models.PositiveIntegerField(default=0, blank=False, null=False)
|
||||
|
||||
|
24
dcc/consist/serializers.py
Normal file
24
dcc/consist/serializers.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from rest_framework import serializers
|
||||
from consist.models import Consist, ConsistItem
|
||||
|
||||
from metadata.serializers import CompanySerializer, TagSerializer
|
||||
|
||||
# from roster.serializers import RollingStockSerializer
|
||||
|
||||
|
||||
class ConsistItemSerializer(serializers.ModelSerializer):
|
||||
# rolling_stock = RollingStockSerializer()
|
||||
|
||||
class Meta:
|
||||
model = ConsistItem
|
||||
fields = ("order", "rolling_stock")
|
||||
|
||||
|
||||
class ConsistSerializer(serializers.ModelSerializer):
|
||||
company = CompanySerializer()
|
||||
consist_item = ConsistItemSerializer(many=True)
|
||||
tags = TagSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Consist
|
||||
fields = "__all__"
|
6
dcc/consist/urls.py
Normal file
6
dcc/consist/urls.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.urls import path
|
||||
from consist.views import ConsistList
|
||||
|
||||
urlpatterns = [
|
||||
path("list", ConsistList.as_view()),
|
||||
]
|
@@ -1,3 +1,21 @@
|
||||
from django.shortcuts import render
|
||||
from rest_framework.generics import ListAPIView, RetrieveAPIView
|
||||
|
||||
# Create your views here.
|
||||
from consist.models import Consist
|
||||
from consist.serializers import ConsistSerializer
|
||||
|
||||
|
||||
class ConsistList(ListAPIView):
|
||||
queryset = Consist.objects.all()
|
||||
serializer_class = ConsistSerializer
|
||||
|
||||
|
||||
class ConsistGet(RetrieveAPIView):
|
||||
queryset = Consist.objects.all()
|
||||
serializer_class = ConsistSerializer
|
||||
lookup_field = "uuid"
|
||||
|
||||
|
||||
# class RosterIdentifier(RetrieveAPIView):
|
||||
# queryset = RollingStock.objects.all()
|
||||
# serializer_class = RollingStockSerializer
|
||||
# lookup_field = "identifier"
|
||||
|
@@ -18,6 +18,7 @@ from django.conf.urls.static import static
|
||||
from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
|
||||
from consist import urls as consist_urls
|
||||
from roster import urls as roster_urls
|
||||
from driver import urls as driver_urls
|
||||
|
||||
@@ -26,6 +27,7 @@ admin.site.site_header = "Trains assets manager"
|
||||
urlpatterns = [
|
||||
path("ht/", include("health_check.urls")),
|
||||
path("admin/", admin.site.urls),
|
||||
path("api/v1/consist/", include(consist_urls)),
|
||||
path("api/v1/roster/", include(roster_urls)),
|
||||
path("api/v1/dcc/", include(driver_urls)),
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
Reference in New Issue
Block a user