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__/
|
||||
music/tests/__pycache__/
|
||||
music/views/__pycache__/
|
||||
/db.sqlite3
|
||||
db.sqlite3
|
||||
|
@ -54,3 +54,5 @@ class Relay(models.Model):
|
||||
# comment the relay
|
||||
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 Meta:
|
||||
model = Driver
|
||||
fields = ('id', 'short_name', 'first_name', 'last_name', 'order', 'ref_time')
|
||||
@ -23,7 +22,6 @@ class DriverSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class KartSerializer(serializers.ModelSerializer):
|
||||
|
||||
drivers = DriverSerializer(many=True, read_only=True)
|
||||
|
||||
class Meta:
|
||||
@ -42,7 +40,6 @@ class KartSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class KartSimpleSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = Kart
|
||||
fields = ('id', 'name', 'autonomy')
|
||||
@ -59,10 +56,13 @@ class KartSimpleSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class RelaySerializer(serializers.ModelSerializer):
|
||||
|
||||
drivers = DriverSerializer(many=True, read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Relay
|
||||
fields = ('id', 'relay_start', 'relay_end', 'has_refuel', 'driver_chrono', 'relay_autonomy', 'comment',
|
||||
'kart_id', 'driver_id')
|
||||
fields = '__all__'
|
||||
depth = 1
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
instance.relay_start = validated_data.get("relay_start", instance.relay_start)
|
||||
@ -95,4 +95,3 @@ class ParamSerializer(serializers.ModelSerializer):
|
||||
|
||||
def create(self, validated_data):
|
||||
return Params.objects.create(**validated_data)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from django.urls import path
|
||||
from .views import ListCreateDriversView, DriversDetailView, KartsDetailView, ListCreateKartsView, \
|
||||
ParamsDetailView, ListCreateRelaysView, RelaysDetailView
|
||||
ParamsDetailView, ListCreateRelaysView, RelaysDetailView, RelaysByKartDetailView
|
||||
# , ListCreateRulesView, RulesDetailView, \
|
||||
# ListCreateKartsView, KartsDetailView, ListCreateRelaysView, RelaysDetailView, ListCreateRacesView, \
|
||||
# RacesDetailView
|
||||
@ -14,7 +14,7 @@ urlpatterns = [
|
||||
# path('rules/', ListCreateRulesView.as_view(), name="rules-list-create"),
|
||||
path('params/<int:pk>/', ParamsDetailView.as_view(), name="rules-detail"),
|
||||
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('races/', ListCreateRacesView.as_view(), name="races-list-create"),
|
||||
# path('races/<int:pk>/', RacesDetailView.as_view(), name="races-detail"),
|
||||
|
@ -264,3 +264,23 @@ class RelaysDetailView(generics.ListAPIView):
|
||||
},
|
||||
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