Adding relaysbykart route
This commit is contained in:
parent
72f38a2473
commit
8976e97ee2
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,4 +7,4 @@ music/migrations/__pycache__/
|
|||||||
api/__pycache__/
|
api/__pycache__/
|
||||||
music/tests/__pycache__/
|
music/tests/__pycache__/
|
||||||
music/views/__pycache__/
|
music/views/__pycache__/
|
||||||
/db.sqlite3
|
db.sqlite3
|
||||||
|
@ -54,3 +54,5 @@ class Relay(models.Model):
|
|||||||
# comment the relay
|
# comment the relay
|
||||||
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
|
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
ordering = ['relay_start']
|
||||||
|
@ -4,7 +4,6 @@ from .models import Driver, Kart, Params, Relay
|
|||||||
|
|
||||||
|
|
||||||
class DriverSerializer(serializers.ModelSerializer):
|
class DriverSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Driver
|
model = Driver
|
||||||
fields = ('id', 'short_name', 'first_name', 'last_name', 'order', 'ref_time')
|
fields = ('id', 'short_name', 'first_name', 'last_name', 'order', 'ref_time')
|
||||||
@ -23,7 +22,6 @@ class DriverSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class KartSerializer(serializers.ModelSerializer):
|
class KartSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
drivers = DriverSerializer(many=True, read_only=True)
|
drivers = DriverSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -42,7 +40,6 @@ class KartSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class KartSimpleSerializer(serializers.ModelSerializer):
|
class KartSimpleSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Kart
|
model = Kart
|
||||||
fields = ('id', 'name', 'autonomy')
|
fields = ('id', 'name', 'autonomy')
|
||||||
@ -59,10 +56,13 @@ class KartSimpleSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class RelaySerializer(serializers.ModelSerializer):
|
class RelaySerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
drivers = DriverSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Relay
|
model = Relay
|
||||||
fields = ('id', 'relay_start', 'relay_end', 'has_refuel', 'driver_chrono', 'relay_autonomy', 'comment',
|
fields = '__all__'
|
||||||
'kart_id', 'driver_id')
|
depth = 1
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
instance.relay_start = validated_data.get("relay_start", instance.relay_start)
|
instance.relay_start = validated_data.get("relay_start", instance.relay_start)
|
||||||
@ -95,4 +95,3 @@ class ParamSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
return Params.objects.create(**validated_data)
|
return Params.objects.create(**validated_data)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import ListCreateDriversView, DriversDetailView, KartsDetailView, ListCreateKartsView, \
|
from .views import ListCreateDriversView, DriversDetailView, KartsDetailView, ListCreateKartsView, \
|
||||||
ParamsDetailView, ListCreateRelaysView, RelaysDetailView
|
ParamsDetailView, ListCreateRelaysView, RelaysDetailView, RelaysByKartDetailView
|
||||||
# , ListCreateRulesView, RulesDetailView, \
|
# , ListCreateRulesView, RulesDetailView, \
|
||||||
# ListCreateKartsView, KartsDetailView, ListCreateRelaysView, RelaysDetailView, ListCreateRacesView, \
|
# ListCreateKartsView, KartsDetailView, ListCreateRelaysView, RelaysDetailView, ListCreateRacesView, \
|
||||||
# RacesDetailView
|
# RacesDetailView
|
||||||
@ -14,7 +14,7 @@ urlpatterns = [
|
|||||||
# path('rules/', ListCreateRulesView.as_view(), name="rules-list-create"),
|
# path('rules/', ListCreateRulesView.as_view(), name="rules-list-create"),
|
||||||
path('params/<int:pk>/', ParamsDetailView.as_view(), name="rules-detail"),
|
path('params/<int:pk>/', ParamsDetailView.as_view(), name="rules-detail"),
|
||||||
path('relays/', ListCreateRelaysView.as_view(), name="relays-list-create"),
|
path('relays/', ListCreateRelaysView.as_view(), name="relays-list-create"),
|
||||||
# path('relaysbykart/<int:pk>/', RelaysDetailView.as_view(), name="relays-detail"),
|
path('relaysbykart/<int:kart>/', RelaysByKartDetailView.as_view(), name="relays-detail"),
|
||||||
path('relays/<int:pk>/', RelaysDetailView.as_view(), name="relays-detail"),
|
path('relays/<int:pk>/', RelaysDetailView.as_view(), name="relays-detail"),
|
||||||
# path('races/', ListCreateRacesView.as_view(), name="races-list-create"),
|
# path('races/', ListCreateRacesView.as_view(), name="races-list-create"),
|
||||||
# path('races/<int:pk>/', RacesDetailView.as_view(), name="races-detail"),
|
# path('races/<int:pk>/', RacesDetailView.as_view(), name="races-detail"),
|
||||||
|
@ -264,3 +264,23 @@ class RelaysDetailView(generics.ListAPIView):
|
|||||||
},
|
},
|
||||||
status=status.HTTP_404_NOT_FOUND
|
status=status.HTTP_404_NOT_FOUND
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class RelaysByKartDetailView(generics.ListAPIView):
|
||||||
|
"""
|
||||||
|
Provides a get method handler.
|
||||||
|
"""
|
||||||
|
serializer_class = RelaySerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
try:
|
||||||
|
kart = self.kwargs['kart']
|
||||||
|
a_relay = Relay.objects.filter(kart=kart)
|
||||||
|
return a_relay
|
||||||
|
except Relay.DoesNotExist:
|
||||||
|
return Response(
|
||||||
|
data={
|
||||||
|
"message": "Relay with id: {} does not exist".format(self.kwargs["kart"])
|
||||||
|
},
|
||||||
|
status=status.HTTP_404_NOT_FOUND
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user