def put(self, request, id, format=None): try: movie = Movie.objects.get(id=id) except Movie.DoesNotExist: return Response("No data exist with id=%s"%str(id)) serializer = MovieSerializer(movie, data=request.data) # check if the data is validated by serializer if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk): movie = Movie.objects.get(id=pk) movie.title = request.POST['title'] movie.imdb_link = request.POST['imdb_link'] movie.director = request.POST['director'] movie.year = request.POST['year'] movie.genre = request.POST['genre'] move.save() serialized_movie = MovieSerializer(movie) return (serialized_movie.data, 201)
def post(self, request): title = request.POST['title'] imdb_link = request.POST['imdb_link'] director = request.POST['director'] year = request.POST['year'] genre = request.POST['genre'] new_movie = Movie.objects.create(title=title, imdb_link=imdb_link, director=director, year=year, genre=genre) serialized_new_movie = MovieSerializer(new_movie) return (serialized_new_movie.data, 201)
def post(self, request, format=None): genres = request.data["genres"] serializer = MovieSerializer(data=request.data) created_genres = [] # check if the data is validated by serializer if serializer.is_valid(): serializer.save() for genre in genres: data = {'name':genre, 'movie': serializer.data['id']} # validation data across Genre serializer gen_serializer = GenreCreateSerializer(data=data) if gen_serializer.is_valid(): gen_serializer.save() created_genres.append(gen_serializer.data) return Response({'movie': serializer.data, 'genres': created_genres}, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, pk): movie = Movie.objects.get(id=pk) serialized_movie = MovieSerializer(movie) return Response(serialized_movie.data, 200)
def get(self, request): all_movies = Movie.objects.all() serialized_movies = MovieSerializer(all_movies, many=True) return Response(serialized_movies.data, 200)