diff --git a/timelaps/__pycache__/admin.cpython-36.pyc b/timelaps/__pycache__/admin.cpython-36.pyc index 4d3c8db..49efea4 100644 Binary files a/timelaps/__pycache__/admin.cpython-36.pyc and b/timelaps/__pycache__/admin.cpython-36.pyc differ diff --git a/timelaps/__pycache__/models.cpython-36.pyc b/timelaps/__pycache__/models.cpython-36.pyc index 12c0b56..5c7f397 100644 Binary files a/timelaps/__pycache__/models.cpython-36.pyc and b/timelaps/__pycache__/models.cpython-36.pyc differ diff --git a/timelaps/__pycache__/serializers.cpython-36.pyc b/timelaps/__pycache__/serializers.cpython-36.pyc index 84b2543..1ed12bc 100644 Binary files a/timelaps/__pycache__/serializers.cpython-36.pyc and b/timelaps/__pycache__/serializers.cpython-36.pyc differ diff --git a/timelaps/__pycache__/urls.cpython-36.pyc b/timelaps/__pycache__/urls.cpython-36.pyc index 154f70b..bbb5e93 100644 Binary files a/timelaps/__pycache__/urls.cpython-36.pyc and b/timelaps/__pycache__/urls.cpython-36.pyc differ diff --git a/timelaps/__pycache__/views.cpython-36.pyc b/timelaps/__pycache__/views.cpython-36.pyc index 6235d8a..6f74731 100644 Binary files a/timelaps/__pycache__/views.cpython-36.pyc and b/timelaps/__pycache__/views.cpython-36.pyc differ diff --git a/timelaps/serializers.py b/timelaps/serializers.py index a22255a..f97b3e9 100644 --- a/timelaps/serializers.py +++ b/timelaps/serializers.py @@ -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') \ No newline at end of file diff --git a/timelaps/views.py b/timelaps/views.py index c5844c9..07dd2b9 100644 --- a/timelaps/views.py +++ b/timelaps/views.py @@ -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): - """ - Getting the params from the url with the "self.kwargs.get" - and filter with thoses in the relays relation - """ + serializer_class = ListRelaysByRaceAndTeamSerializer + def get_queryset(self): + raceid = self.kwargs['raceid'] + teamid = self.kwargs['teamid'] + return Race.objects.filter(id=raceid) + +""" + 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" @@ -50,4 +60,5 @@ class ListRelaysByRaceAndTeamView(generics.ListAPIView): raceid = self.kwargs.get(self.lookup_url_raceid) teamid = self.kwargs.get(self.lookup_url_teamid) relays = Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid) - return relays \ No newline at end of file + return relays +""" \ No newline at end of file