saving progress on ch 8

This commit is contained in:
2022-02-09 15:56:52 -06:00
parent c829c8856a
commit ea22ef8371
3 changed files with 45 additions and 4 deletions
+2 -1
View File
@@ -10,4 +10,5 @@ class Game(models.Model):
maker = models.CharField(max_length=256)
gamer = models.ForeignKey(Gamer, on_delete=models.DO_NOTHING)
number_of_players = models.IntegerField()
skill_level = models.IntegerField()
skill_level = models.IntegerField()
+19
View File
@@ -37,6 +37,25 @@ class EventView(ViewSet):
events = events.filter(game_id=game)
serializer = EventSerializer(events, many=True)
return Response(serializer.data)
# confused as to why I'm getting a 500 error on this. An article seems to indicate that I may need to nest more of my data inside another JSON object, if for example, it has foreign keys with additional data. https://stackoverflow.com/questions/60279456/django-postman-error-this-field-is-required
def create(self, request):
"""Handle POST operations
Returns
Response -- JSON serialized game instance
"""
event = Event.objects.get(user=request.auth.user)
event_type = Event.objects.get(pk=request.data["description"])
event = Event.objects.create(
description=request.data["description"],
date=request.data["date"],
time=request.data["time"],
game_id=request.data["game_id"],
organizer_id=request.data["organizer_id"]
)
serializer = EventSerializer(event)
return Response(serializer.data)
class EventSerializer(serializers.ModelSerializer):
"""JSON serializer for event types
+24 -3
View File
@@ -2,7 +2,7 @@ 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 Game
from levelupapi.models import Game, Gamer, GameType
class GameView(ViewSet):
"""Level up game s view"""
@@ -34,14 +34,35 @@ class GameView(ViewSet):
game_ = request.query_params.get('type', None)
games = Game.objects.all()
if game_ is not None:
games = games.filter(game_type_id=game_)
games = games.filter(game_type_id=game_)
serializer = GameSerializer(games, many=True)
return Response(serializer.data)
def create(self, request):
"""Handle POST operations
Returns
Response -- JSON serialized game instance
"""
gamer = Gamer.objects.get(user=request.auth.user)
game_type = GameType.objects.get(pk=request.data["game_type"])
game = Game.objects.create(
title=request.data["title"],
maker=request.data["maker"],
number_of_players=request.data["number_of_players"],
skill_level=request.data["skill_level"],
gamer=gamer,
game_type=game_type
)
serializer = GameSerializer(game)
return Response(serializer.data)
class GameSerializer(serializers.ModelSerializer):
"""JSON serializer for game s
"""
class Meta:
model = Game
fields = ('id', 'title', 'maker', 'number_of_players', 'skill_level', 'game_type_id', 'gamer_id')
depth = 1
depth = 1