Archived
completed ch. 6
This commit is contained in:
@@ -30,8 +30,10 @@ router.register(r'events', EventView, 'event')
|
||||
urlpatterns = [
|
||||
path('register', register_user),
|
||||
path('login', login_user),
|
||||
path('api-auth', include('rest_framework.urls', namespace='rest_framework')),
|
||||
path('', include(router.urls)),
|
||||
path('admin/', admin.site.urls),
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
+2
-4
@@ -1,4 +1,2 @@
|
||||
|
||||
SELECT * FROM auth_user;
|
||||
SELECT * FROM authtoken_token;
|
||||
SELECT * FROM levelupapi_gamer;
|
||||
UPDATE levelupapi_game SET game_type_id = 3
|
||||
WHERE title = 'World of Warcraft';
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
{
|
||||
"model": "levelupapi.game",
|
||||
"pk": 2,
|
||||
"pk": 3,
|
||||
"fields": {
|
||||
"game_type": 2,
|
||||
"title": "World of Warcraft",
|
||||
|
||||
@@ -14,9 +14,13 @@ class EventView(ViewSet):
|
||||
Returns:
|
||||
Response -- JSON serialized event type
|
||||
"""
|
||||
event = Event.objects.get(pk=pk)
|
||||
serializer = EventSerializer(event)
|
||||
return Response(serializer.data)
|
||||
try:
|
||||
game_type = Event.objects.get(pk=pk)
|
||||
serializer = EventSerializer(game_type)
|
||||
return Response(serializer.data)
|
||||
except Event.DoesNotExist as ex:
|
||||
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
|
||||
def list(self, request):
|
||||
@@ -25,8 +29,13 @@ class EventView(ViewSet):
|
||||
Returns:
|
||||
Response -- JSON serialized list of event types
|
||||
"""
|
||||
event = Event.objects.all()
|
||||
serializer = EventSerializer(event, many=True)
|
||||
events = Event.objects.all()
|
||||
|
||||
# Add in the next 3 lines
|
||||
game = request.query_params.get('game_id', None)
|
||||
if game is not None:
|
||||
events = events.filter(game_id=game)
|
||||
serializer = EventSerializer(events, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
class EventSerializer(serializers.ModelSerializer):
|
||||
@@ -34,4 +43,5 @@ class EventSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
class Meta:
|
||||
model = Event
|
||||
fields = ('id', 'description', 'date', 'time', 'game_id', 'organizer_id')
|
||||
fields = ('id', 'description', 'date', 'time', 'game_id', 'organizer_id')
|
||||
depth = 2
|
||||
@@ -1,9 +1,11 @@
|
||||
"""View module for handling requests about game types"""
|
||||
from cProfile import label
|
||||
from pickle import NONE
|
||||
from django.http import HttpResponseServerError
|
||||
from rest_framework.viewsets import ViewSet
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import serializers, status
|
||||
from levelupapi.models import GameType
|
||||
from levelupapi.models import GameType, game_type
|
||||
|
||||
|
||||
class GameTypeView(ViewSet):
|
||||
@@ -16,10 +18,12 @@ class GameTypeView(ViewSet):
|
||||
Returns:
|
||||
Response -- JSON serialized game type
|
||||
"""
|
||||
game_type = GameType.objects.get(pk=pk)
|
||||
serializer = GameTypeSerializer(game_type)
|
||||
return Response(serializer.data)
|
||||
|
||||
try:
|
||||
game_type = GameType.objects.get(pk=pk)
|
||||
serializer = GameTypeSerializer(game_type)
|
||||
return Response(serializer.data)
|
||||
except GameType.DoesNotExist as ex:
|
||||
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
def list(self, request):
|
||||
"""Handle GET requests to get all game types
|
||||
@@ -27,7 +31,10 @@ class GameTypeView(ViewSet):
|
||||
Returns:
|
||||
Response -- JSON serialized list of game types
|
||||
"""
|
||||
label = request.query_params.get('label', None)
|
||||
game_types = GameType.objects.all()
|
||||
if label is not NONE:
|
||||
game_types = game_types.filter(label=label)
|
||||
serializer = GameTypeSerializer(game_types, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
+22
-12
@@ -5,33 +5,43 @@ from rest_framework import serializers, status
|
||||
from levelupapi.models import Game
|
||||
|
||||
class GameView(ViewSet):
|
||||
"""Level up game types view"""
|
||||
"""Level up game s view"""
|
||||
|
||||
def retrieve(self, request, pk):
|
||||
"""Handle GET requests for single game type
|
||||
"""Handle GET requests for single game
|
||||
|
||||
|
||||
Returns:
|
||||
Response -- JSON serialized game type
|
||||
Response -- JSON serialized game
|
||||
"""
|
||||
game = Game.objects.get(pk=pk)
|
||||
serializer = GameSerializer(game)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
# Add in the next 3 lines
|
||||
try:
|
||||
game = Game.objects.get(pk=pk)
|
||||
serializer = GameSerializer(game)
|
||||
return Response(serializer.data)
|
||||
except Game.DoesNotExist as ex:
|
||||
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
def list(self, request):
|
||||
"""Handle GET requests to get all game types
|
||||
"""Handle GET requests to get all game s
|
||||
|
||||
Returns:
|
||||
Response -- JSON serialized list of game types
|
||||
Response -- JSON serialized list of game s
|
||||
"""
|
||||
game = Game.objects.all()
|
||||
serializer = GameSerializer(game, many=True)
|
||||
game_ = request.query_params.get('type', None)
|
||||
games = Game.objects.all()
|
||||
if game_ is not None:
|
||||
games = games.filter(game_type_id=game_)
|
||||
serializer = GameSerializer(games, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
class GameSerializer(serializers.ModelSerializer):
|
||||
"""JSON serializer for game types
|
||||
"""JSON serializer for game s
|
||||
"""
|
||||
class Meta:
|
||||
model = Game
|
||||
fields = ('id', 'title', 'maker', 'number_of_players', 'skill_level', 'game_type_id', 'gamer_id')
|
||||
fields = ('id', 'title', 'maker', 'number_of_players', 'skill_level', 'game_type_id', 'gamer_id')
|
||||
depth = 1
|
||||
Reference in New Issue
Block a user