From 38c37a3df20d7862e42514154040593324ba4bbc Mon Sep 17 00:00:00 2001 From: nprasad2077 <114438461+nprasad2077@users.noreply.github.com> Date: Wed, 26 Apr 2023 14:17:17 -0500 Subject: [PATCH] add views and urls for TRB, BLK, STL --- nba_data/urls.py | 7 +++++-- nba_data/views.py | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/nba_data/urls.py b/nba_data/urls.py index e652bc8..4b0d6c1 100644 --- a/nba_data/urls.py +++ b/nba_data/urls.py @@ -1,5 +1,5 @@ from django.urls import path -from .views import PlayerDataList, PlayerDataByTeamList, PlayerDataBySeasonList, PlayerDataByNameList, TopScorersbySeasonList, ThreeTwoTopPointTrends, TopAssistsBySeasonList +from .views import PlayerDataList, PlayerDataByTeamList, PlayerDataBySeasonList, PlayerDataByNameList, TopScorersbySeasonList, ThreeTwoTopPointTrends, TopAssistsBySeasonList, TopReboundsBySeasonList, TopBlocksBySeasonList, TopStealsBySeasonList urlpatterns = [ path('api/playerdata/', PlayerDataList.as_view(), name='playerdata_list'), @@ -8,5 +8,8 @@ urlpatterns = [ path('api/playerdata/name//', PlayerDataByNameList.as_view(), name='playerdata_by_name'), path('api/playerdata/topscorers/season//', TopScorersbySeasonList.as_view(), name='top_scorers_by_season'), path('api/three_two_point_trends/', ThreeTwoTopPointTrends.as_view(), name='three_two_point_trends'), - path('api/top_assists//', TopAssistsBySeasonList.as_view(), name='top_assists') + path('api/top_assists//', TopAssistsBySeasonList.as_view(), name='top_assists'), + path('api/top_rebounds//', TopReboundsBySeasonList.as_view(), name='top_rebounds'), + path('api/top_blocks//', TopBlocksBySeasonList.as_view(), name='top_blocks'), + path('api/top_steals//', TopStealsBySeasonList.as_view(), name='top_steals'), ] \ No newline at end of file diff --git a/nba_data/views.py b/nba_data/views.py index b990336..c39eea0 100644 --- a/nba_data/views.py +++ b/nba_data/views.py @@ -81,11 +81,43 @@ class ThreeTwoTopPointTrends(APIView): }) return Response(data) - + # Fetch Top 20 players by AST DESC for season specified. + + class TopAssistsBySeasonList(generics.ListAPIView): serializer_class = PlayerDataSerializer - + def get_queryset(self): season = self.kwargs['season'] return PlayerData.objects.filter(season=season).order_by('-AST')[:20] + +# Fetch Top 20 players by TRB DESC for season specified. + + +class TopReboundsBySeasonList(generics.ListAPIView): + serializer_class = PlayerDataSerializer + + def get_queryset(self): + season = self.kwargs['season'] + return PlayerData.objects.filter(season=season).order_by('-TRB')[:20] + +# Fetch Top 20 players by BLK DESC for specified season. + + +class TopBlocksBySeasonList(generics.ListAPIView): + serializer_class = PlayerDataSerializer + + def get_queryset(self): + season = self.kwargs['season'] + return PlayerData.objects.filter(season=season).order_by('-BLK')[:20] + +# Fetch Top 20 players by STL DESC for season specified. + + +class TopStealsBySeasonList(generics.ListAPIView): + serializer_class = PlayerDataSerializer + + def get_queryset(self): + season = self.kwargs['season'] + return PlayerData.objects.filter(season=season).order_by('-STL')[:20]