diff --git a/levelupapi/models/events.py b/levelupapi/models/events.py index 6ce28a1..b25d51f 100644 --- a/levelupapi/models/events.py +++ b/levelupapi/models/events.py @@ -4,7 +4,7 @@ from levelupapi.models.game import Game class Event(models.Model): - game= models.ForeignKey(Game, on_delete=models.DO_NOTHING) + game= models.ForeignKey(Game, on_delete=models.CASCADE) description = models.CharField(max_length=256) date = models.DateField() time = models.TimeField((""), auto_now=False, auto_now_add=False) diff --git a/levelupapi/views/events.py b/levelupapi/views/events.py index 7550a48..77f59ac 100644 --- a/levelupapi/views/events.py +++ b/levelupapi/views/events.py @@ -72,7 +72,19 @@ class EventView(ViewSet): event.save() return Response(None, status=status.HTTP_204_NO_CONTENT) - + def destroy(self, request, pk): + """Handle DELETE requests for a game + + Args: + request (object): DELETE request object + pk (num): Accepts the argument of the primary key of an event + + Returns: + Status: If the method completes successfully, return a HTTP response 204 + """ + event = Event.objects.get(pk=pk) + event.delete() + return Response(None, status=status.HTTP_204_NO_CONTENT) class EventSerializer(serializers.ModelSerializer): """JSON serializer for event types """ diff --git a/levelupapi/views/games.py b/levelupapi/views/games.py index 3546014..7fb2cd6 100644 --- a/levelupapi/views/games.py +++ b/levelupapi/views/games.py @@ -26,10 +26,10 @@ class GameView(ViewSet): def list(self, request): - """Handle GET requests to get all game s + """Handle GET requests to get all games Returns: - Response -- JSON serialized list of game s + Response -- JSON serialized list of games """ game_ = request.query_params.get('type', None) games = Game.objects.all() @@ -76,6 +76,20 @@ class GameView(ViewSet): game.save() return Response(None, status=status.HTTP_204_NO_CONTENT) + def destroy(self, request, pk): + """Handle DELETE requests for a game + + Args: + request (object): DELETE request object + pk (num): Accepts the argument of the primary key of a game + + Returns: + Status: If the method completes successfully, return a HTTP response 204 + """ + game = Game.objects.get(pk=pk) + game.delete() + return Response(None, status=status.HTTP_204_NO_CONTENT) + class GameSerializer(serializers.ModelSerializer): """JSON serializer for game s