First commit of the V2.
New base, new info.
This commit is contained in:
@ -1,45 +1,80 @@
|
||||
from rest_framework import serializers
|
||||
from .models import *
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from .models import Driver, Kart, Params, Relay
|
||||
|
||||
|
||||
class DriverSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = Driver
|
||||
fields = ('first_name','last_name')
|
||||
fields = ('id', 'first_name', 'last_name', 'order', 'ref_time')
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
instance.first_name = validated_data.get("first_name", instance.first_name)
|
||||
instance.last_name = validated_data.get("last_name", instance.last_name)
|
||||
instance.order = validated_data.get("order", instance.order)
|
||||
instance.ref_time = validated_data.get("ref_time", instance.ref_time)
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
def create(self, validated_data):
|
||||
return Driver.objects.create(**validated_data)
|
||||
|
||||
|
||||
class KartSerializer(serializers.ModelSerializer):
|
||||
|
||||
drivers = DriverSerializer(many=True, read_only=True)
|
||||
|
||||
class RaceSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Race
|
||||
fields = ('name','start_date','end_date','duration', 'comment','fk_rules')
|
||||
model = Kart
|
||||
fields = ('id', 'name', 'autonomy', 'drivers')
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
instance.name = validated_data.get("name", instance.name)
|
||||
instance.autonomy = validated_data.get("autonomy", instance.autonomy)
|
||||
instance.comment = validated_data.get("comment", instance.comment)
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
def create(self, validated_data):
|
||||
return Kart.objects.create(**validated_data)
|
||||
|
||||
|
||||
class RelaySerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Relay
|
||||
fields = ('relay_start','relay_end','has_refuel','pilot_chrono','pilot_chrono', 'comment','team_pilot')
|
||||
fields = ('id', 'relay_start', 'relay_end', 'has_refuel', 'driver_chrono', 'relay_autonomy', 'comment',
|
||||
'kart_id', 'driver_id')
|
||||
|
||||
class RulesSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Rules
|
||||
fields = ('min_stand_duration', 'max_autonomy_dry', 'max_autonomy_wet', 'max_driving_duration', 'relay_default_duration')
|
||||
def update(self, instance, validated_data):
|
||||
instance.relay_start = validated_data.get("relay_start", instance.relay_start)
|
||||
instance.relay_end = validated_data.get("relay_end", instance.relay_end)
|
||||
instance.has_refuel = validated_data.get("has_refuel", instance.has_refuel)
|
||||
instance.driver_chrono = validated_data.get("driver_chrono", instance.driver_chrono)
|
||||
instance.relay_autonomy = validated_data.get("relay_autonomy", instance.relay_autonomy)
|
||||
instance.comment = validated_data.get("comment", instance.comment)
|
||||
instance.kart_id = validated_data.get("kart_id", instance.kart_id)
|
||||
instance.driver_id = validated_data.get("driver_id", instance.driver_id)
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
class TeamSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Team
|
||||
fields = ('name', 'comment')
|
||||
def create(self, validated_data):
|
||||
return Relay.objects.create(**validated_data)
|
||||
|
||||
class EngagedPilotSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = EngagedPilot
|
||||
fields = ('order','team','pilot','race')
|
||||
|
||||
class EngagedPilotsSerializer(serializers.ModelSerializer):
|
||||
relays = RelaySerializer(many=True)
|
||||
class ParamSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = EngagedPilot
|
||||
fields = ('order','team','pilot','race', 'relays')
|
||||
model = Params
|
||||
fields = ('id', 'default_relay', 'autonomy', 'stand_minimum_time')
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
instance.default_relay = validated_data.get("default_relay", instance.default_relay)
|
||||
instance.autonomy = validated_data.get("autonomy", instance.autonomy)
|
||||
instance.stand_minimum_time = validated_data.get("stand_minimum_time", instance.stand_minimum_time)
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
def create(self, validated_data):
|
||||
return Params.objects.create(**validated_data)
|
||||
|
||||
class ListRelaysByRaceAndTeamSerializer(serializers.ModelSerializer):
|
||||
engagedpilots = EngagedPilotsSerializer(many=True)
|
||||
class Meta:
|
||||
model = Race
|
||||
fields = ('name','start_date','end_date','duration', 'comment','fk_rules', 'engagedpilots')
|
||||
|
Reference in New Issue
Block a user