from django.db.models import Q from django.views.generic import ListView from rest_framework import viewsets from .serializers import ConsoleSerializer from .models import Console, Game, Timeline class ConsoleViewSet(viewsets.ModelViewSet): """ API endpoints that allows consoles to be edited or viewed. retrieve: Return the given console list: Return a list of all existing consoles ordered by name. create: Create a new console instance. """ queryset = Console.objects.all().order_by('name') serializer_class = ConsoleSerializer class GameList(ListView): model = Game context_object_name = 'non_excluded_games' template_name = 'games/index.html' queryset = Game.objects.filter( ~Q(status=Game.EXCLUDED) & Q(wish=False)).order_by('name') def get_context_data(self, **kwargs): """ Add playing games list. Add 5 last current activities from Timeline """ context = super(GameList, self).get_context_data(**kwargs) context['playing_games'] = Game.objects.filter( playing=True).order_by('name') context['last_timelines'] = Timeline.objects.filter( ~Q(item__status=Game.EXCLUDED) ).order_by( '-date')[:5] return context