mirror of
https://github.com/nprasad2077/nbaStats.git
synced 2026-11-06 10:00:34 +00:00
shot chart data is being served up
This commit is contained in:
1 parent
1c54ed2627
commit
6026b51567
4 files changed
+19
-7
No files matched your search
@@ -13,7 +13,7 @@ django.setup()
|
||||
from nba_data.models import PlayerShotChartData
|
||||
|
||||
player_name = 'LeBron James'
|
||||
season = 2016
|
||||
season = 2014
|
||||
# team = 'LAL' # You might want to find a way to get this from the webpage
|
||||
url = 'https://www.basketball-reference.com/players/j/jamesle01/shooting/' + \
|
||||
str(season)
|
||||
|
||||
@@ -37,8 +37,13 @@ class PlayerSalaryDataSerializer(serializers.ModelSerializer):
|
||||
fields = '__all__'
|
||||
|
||||
class PlayerShotChartDataSerializer(serializers.ModelSerializer):
|
||||
color = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = PlayerShotChartData
|
||||
fields = '__all__'
|
||||
fields = ['top', 'left', 'date', 'qtr', 'time_remaining', 'result', 'shot_type', 'distance_ft', 'lead', 'lebron_team_score', 'opponent_team_score', 'opponent', 'team', 'season', 'color']
|
||||
|
||||
def get_color(self, obj):
|
||||
return 'green' if obj.result else 'red'
|
||||
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
from django.urls import path
|
||||
from .views import PlayerDataList, PlayerDataByTeamList, PlayerDataBySeasonList, PlayerDataByNameList, TopScorersbySeasonList, TopScorersbySeasonListPlayoffs, ThreeTwoTopPointTrends, TopAssistsBySeasonList, TopReboundsBySeasonList, TopBlocksBySeasonList, TopStealsBySeasonList, TopOffensiveReboundsBySeasonList, TopDefensiveReboundsBySeasonList, PointsPerGameHistogramBySeasonList, TopPtsScatterPlotData, TopPtsScatterPlotDataFast, TopPtsScatterPlotDataFast2018, Top20ScorersPost2009WS, Top20ScorersPost2014WS, Top20ScorersPost2018WS, TopAssistsBySeasonListPlayoffs, Top25ScorersPostSeasonPlayoffs, TopPtsScatterPlotDataFastSelect, OverallDBStats, TopScorersbySeasonTotalsList, TopAssistsBySeasonTotalsList, TopReboundsbySeasonTotalsList, TopStealsbySeasonTotalsList, TopBlocksbySeasonTotalsList, TopDefensiveReboundsBySeasonTotalsList, TopOffensiveReboundsbySeasonTotalsList, UsageRateHistogramView
|
||||
from .views import PlayerDataList, PlayerDataByTeamList, PlayerDataBySeasonList, PlayerDataByNameList, TopScorersbySeasonList, TopScorersbySeasonListPlayoffs, ThreeTwoTopPointTrends, TopAssistsBySeasonList, TopReboundsBySeasonList, TopBlocksBySeasonList, TopStealsBySeasonList, TopOffensiveReboundsBySeasonList, TopDefensiveReboundsBySeasonList, PointsPerGameHistogramBySeasonList, TopPtsScatterPlotData, TopPtsScatterPlotDataFast, TopPtsScatterPlotDataFast2018, Top20ScorersPost2009WS, Top20ScorersPost2014WS, Top20ScorersPost2018WS, TopAssistsBySeasonListPlayoffs, Top25ScorersPostSeasonPlayoffs, TopPtsScatterPlotDataFastSelect, OverallDBStats, TopScorersbySeasonTotalsList, TopAssistsBySeasonTotalsList, TopReboundsbySeasonTotalsList, TopStealsbySeasonTotalsList, TopBlocksbySeasonTotalsList, TopDefensiveReboundsBySeasonTotalsList, TopOffensiveReboundsbySeasonTotalsList, UsageRateHistogramView, PlayerShotChartDataList
|
||||
|
||||
urlpatterns = [
|
||||
path('api/playerdata/', PlayerDataList.as_view(), name='playerdata_list'),
|
||||
@@ -34,4 +34,5 @@ urlpatterns = [
|
||||
path('api/top_25_PTS_ws/playoffs/<int:season>/', Top25ScorersPostSeasonPlayoffs.as_view(), name='top_25_PTS_ws_playoffs'),
|
||||
path('api/top_25_PTS_ws/season/<int:season>/', TopPtsScatterPlotDataFastSelect.as_view(), name='top_25_PTS_ws_season'),
|
||||
path('api/stats/', OverallDBStats.as_view(), name='overall_db_stats'),
|
||||
path('api/shot_chart_data/<str:player_name>/<str:season>/', PlayerShotChartDataList.as_view(), name='player_shot_chart'),
|
||||
]
|
||||
+10
-4
@@ -1,12 +1,12 @@
|
||||
from django.shortcuts import render
|
||||
from django.http import JsonResponse, Http404
|
||||
from django.core import serializers
|
||||
from .models import PlayerData, PlayerTotalsData, PlayerAdvancedData, PlayerPlayoffTotalsData, PlayerPlayoffAdvancedData
|
||||
from .models import PlayerData, PlayerTotalsData, PlayerAdvancedData, PlayerPlayoffTotalsData, PlayerPlayoffAdvancedData, PlayerShotChartData
|
||||
from rest_framework import generics
|
||||
from .serializers import PlayerDataSerializer, HistogramDataSerializer, PlayerPlayoffTotalsDataSerializer, PlayerTotalsDataSerializer
|
||||
from .serializers import PlayerDataSerializer, HistogramDataSerializer, PlayerPlayoffTotalsDataSerializer, PlayerTotalsDataSerializer, PlayerShotChartDataSerializer
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from django.db.models import Avg, Sum, F, FloatField, Min, Max
|
||||
from django.db.models import Avg, Sum, F, Min, Max
|
||||
from collections import Counter
|
||||
import math
|
||||
from django.db import connection
|
||||
@@ -659,5 +659,11 @@ class OverallDBStats(APIView):
|
||||
return Response(response_data)
|
||||
|
||||
|
||||
|
||||
class PlayerShotChartDataList(generics.ListAPIView):
|
||||
serializer_class = PlayerShotChartDataSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
player_name = self.kwargs['player_name']
|
||||
season = self.kwargs['season']
|
||||
return PlayerShotChartData.objects.filter(player_name__icontains=player_name, season=season).order_by('id')
|
||||
|
||||
Reference in new issue
Block a user