Renommage d'une table

Gestion inversée des clés étrangères.
This commit is contained in:
bglacial 2019-01-16 00:35:01 +01:00
parent f94136469f
commit 4cc49e4e9f
7 changed files with 38 additions and 25 deletions

View File

@ -4,40 +4,42 @@ from .models import *
class DriverSerializer(serializers.ModelSerializer):
class Meta:
model = Driver
fields = '__all__'
fields = ('first_name','last_name')
class RaceSerializer(serializers.ModelSerializer):
class Meta:
model = Race
fields = '__all__'
fields = ('name','start_date','end_date','duration', 'comment','fk_rules')
class RelaySerializer(serializers.ModelSerializer):
class Meta:
model = Relay
fields = '__all__'
fields = ('relay_start','relay_end','has_refuel','pilot_chrono','pilot_chrono', 'comment','team_pilot')
class RulesSerializer(serializers.ModelSerializer):
class Meta:
model = Rules
fields = '__all__'
fields = ('min_stand_duration', 'max_autonomy_dry', 'max_autonomy_wet', 'max_driving_duration', 'relay_default_duration')
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = '__all__'
fields = ('name', 'comment')
class TeamPilotSerializer(serializers.ModelSerializer):
class EngagedPilotSerializer(serializers.ModelSerializer):
class Meta:
model = TeamPilot
fields = '__all__'
model = EngagedPilot
fields = ('order','team','pilot','race')
class RelayPilotSerializer(serializers.ModelSerializer):
class EngagedPilotsSerializer(serializers.ModelSerializer):
relaysv2 = RelaySerializer(many=True)
class Meta:
model = Relay
#fields = ('relay_start','relay_end','has_refuel','pilot_chrono','comment','team_pilot','race')
fields = '__all__'
'''
To get linked elements référenced by a foreign key, use depth to adjust the depth of the request.
'''
depth = 2
model = EngagedPilot
fields = ('order','team','pilot','race', 'relaysv2')
class ListRelaysByRaceAndTeamSerializer(serializers.ModelSerializer):
racev2 = EngagedPilotsSerializer(many=True)
class Meta:
model = Race
fields = ('name','start_date','end_date','duration', 'comment','fk_rules', 'racev2')

View File

@ -32,16 +32,26 @@ class ListTeamView(generics.ListAPIView):
queryset = Team.objects.all()
serializer_class = TeamSerializer
class ListTeamPilotView(generics.ListAPIView):
queryset = TeamPilot.objects.all()
serializer_class = TeamPilotSerializer
class ListEngagedPilotView(generics.ListAPIView):
queryset = EngagedPilot.objects.all()
serializer_class = EngagedPilotSerializer
class ListRelaysByRaceAndTeamView(generics.ListAPIView):
serializer_class = ListRelaysByRaceAndTeamSerializer
def get_queryset(self):
raceid = self.kwargs['raceid']
teamid = self.kwargs['teamid']
return Race.objects.filter(id=raceid)
"""
Getting the params from the url with the "self.kwargs.get"
and filter with thoses in the relays relation
"""
def get_queryset(self):
raceid = self.kwargs['raceid']
teamid = self.kwargs['teamid']
return Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)
class ListRelaysByRaceAndTeamView(generics.ListAPIView):
#Getting the params from the url with the "self.kwargs.get"
#and filter with thoses in the relays relation
serializer_class = RelayPilotSerializer
lookup_url_raceid = "raceid"
lookup_url_teamid = "teamid"
@ -51,3 +61,4 @@ class ListRelaysByRaceAndTeamView(generics.ListAPIView):
teamid = self.kwargs.get(self.lookup_url_teamid)
relays = Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)
return relays
"""