mirror of
https://github.com/nprasad2077/nbaStats.git
synced 2026-11-04 09:15:35 +00:00
53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
from django.shortcuts import render
|
|
from django.http import JsonResponse
|
|
from django.core import serializers
|
|
from .models import PlayerData
|
|
from rest_framework import generics
|
|
from .serializers import PlayerDataSerializer
|
|
|
|
|
|
# Create your views here.
|
|
|
|
# API view to list all PlayerData instances
|
|
class PlayerDataList(generics.ListCreateAPIView):
|
|
queryset = PlayerData.objects.all().order_by('id')
|
|
serializer_class = PlayerDataSerializer
|
|
# pagination_class = None
|
|
|
|
|
|
# Fetch player data by team
|
|
class PlayerDataByTeamList(generics.ListAPIView):
|
|
serializer_class = PlayerDataSerializer
|
|
|
|
def get_queryset(self):
|
|
team = self.kwargs['team']
|
|
return PlayerData.objects.filter(team=team)
|
|
|
|
|
|
# Fetch player data by season
|
|
class PlayerDataBySeasonList(generics.ListAPIView):
|
|
serializer_class = PlayerDataSerializer
|
|
|
|
def get_queryset(self):
|
|
season = self.kwargs['season']
|
|
return PlayerData.objects.filter(season=season)
|
|
|
|
|
|
# Fetch player data by player name
|
|
class PlayerDataByNameList(generics.ListAPIView):
|
|
serializer_class = PlayerDataSerializer
|
|
|
|
def get_queryset(self):
|
|
name = self.kwargs['name']
|
|
return PlayerData.objects.filter(name__icontains=name)
|
|
|
|
|
|
# Fetch Top 20 players by PTS DESC for the season specified.
|
|
class TopScorersbySeasonList(generics.ListAPIView):
|
|
serializer_class = PlayerDataSerializer
|
|
|
|
def get_queryset(self):
|
|
season = self.kwargs['season']
|
|
return PlayerData.objects.filter(season=season).order_by('-PTS')[:20]
|
|
|