overall db stats view

This commit is contained in:
nprasad2077 committed 2023-05-02 16:07:44 -05:00
1 parent 6cdd81890a
commit 92f2e31e02
3 files changed
+27 -7

No files matched your search

+2 -1
View File
@@ -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
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
urlpatterns = [
path('api/playerdata/', PlayerDataList.as_view(), name='playerdata_list'),
@@ -25,4 +25,5 @@ urlpatterns = [
path('api/top_20_post_2018_PTS_ws/', Top20ScorersPost2018WS.as_view(), name='top_20_post_2018_PTS_ws'),
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'),
]
+17 -1
View File
@@ -6,7 +6,7 @@ from rest_framework import generics
from .serializers import PlayerDataSerializer, HistogramDataSerializer, PlayerPlayoffTotalsDataSerializer
from rest_framework.views import APIView
from rest_framework.response import Response
from django.db.models import Avg, Sum, F, FloatField
from django.db.models import Avg, Sum, F, FloatField, Min, Max
from collections import Counter
import math
from django.db import connection
@@ -541,6 +541,22 @@ class TopAssistsBySeasonListPlayoffs(generics.ListAPIView):
return PlayerPlayoffTotalsData.objects.filter(season=season).order_by('-AST')[:20]
class OverallDBStats(APIView):
def get(self. request):
total_players_regular = PlayerTotalsData.objects.count()
total_players_playoffs = PlayerPlayoffAdvancedData.objects.count()
regular_season_range = PlayerTotalsData.objects.aggregate(Min('season'), Max('season'))
playoffs_season_range = PlayerPlayoffAdvancedData.objects.aggregate(Min('season'), Max('season'))
response_data = {
'total_players_regular': total_players_regular,
'total_players_playoffs': total_players_playoffs,
'regular_season_range': regular_season_range,
'playoffs_season_range': playoffs_season_range,
}
return Response(response_data)
+8 -5
View File
@@ -18,6 +18,9 @@ import os
db_user = os.getenv('DB_USER')
db_pass = os.getenv('DB_PASS')
SECRET_DJANGO = os.getenv('SECRET_DJANGO')
aws_user = os.getenv('AWS_USER')
aws_pass = os.getenv('AWS_PASS')
db_url = os.getenv('DB_URL')
@@ -89,11 +92,11 @@ WSGI_APPLICATION = 'nba_stats.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'nba_stats',
'USER': db_user,
'PASSWORD': db_pass,
'HOST': 'localhost',
'PORT': '',
'NAME': 'nbaStats',
'USER': aws_user,
'PASSWORD': aws_pass,
'HOST': db_url,
'PORT': '5432',
}
}