def put(self, request, factory_id, format=None): film = self.get_object(factory_id) serializer = FilmSerializer(film, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, *args, **kwargs): k = request.GET.keys() filter_dict = {} if (k): for key, value in request.GET.items(): filter_dict[key] = value films = Film.objects.filter(**filter_dict) serialized_films = FilmSerializer(films, many=True) return Response(serialized_films.data) else: return Response(FilmSerializer(Film.objects.all(), many=True).data)
def get(self, request, *args, **kwargs): k = request.GET.keys() #get the keys from url filter_dict = {} #create empty dictonary to hold values if (k): # checks if keys exist for key, value in request.GET.items(): # loops through all keys filter_dict[ key] = value # adds the values = filter type of object films = Film.objects.filter( **filter_dict) #returns the films filtered by selection serialized_films = FilmSerializer( films, many=True) # return the serialized film objects return Response(serialized_films.data) #returns to client else: return Response( FilmSerializer(Film.objects.all(), many=True).data ) # if no keys, returns unfiltered list of films
def get(self, request, *args, **kwargs): # year_prod = request.GET.get('year_prod', '') # title = request.GET.get('title', '') # films = Film.objects.filter(title__startswith=title) # serialized_films = FilmSerializer(films, many=True) # return Response(serialized_films.data) k = request.GET.keys() filter_dict = {} if (k): for key, value in request.GET.items(): filter_dict[key] = value films = Film.objects.filter(**filter_dict) serialized_films = FilmSerializer(films, many=True) return Response(serialized_films.data) else: return Response(FilmSerializer(Film.objects.all(), many=True).data)
def post(self, request): """ Create film record :param format: Format of the film record to return to :param requests: request object for creating film :return: Returns a film record """ if isinstance(request.data, dict): data = request.data else: data = json.loads(request.data) serializer = FilmSerializer(data=data) if serializer.is_valid(raise_exception=ValueError): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.error_message, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, format=None): """ Get all the film records :param num: record number, default:latest 100 :param format: Format of the film records to return to :return: Return a list of film records """ num = self.request.query_params.get('num', 100) films = Film.objects.all().order_by('-rs232_time')[:int(num)] serializer = FilmSerializer(films, many=True) return Response(serializer.data)
def film_title(request, format=None): """ Get a list of films that have the word 'hunger' in the title """ if request.method == 'GET': payload = {'type': 'movie', 's': 'happy', 'y': '2009'} films = requests.get('http://www.omdbapi.com/', params=payload) json = films.json() a = [] for key in json['Search']: films_dict = {} films_dict['title'] = key['Title'] films_dict['year_prod'] = key['Year'] a.append(films_dict) serializedFilm = FilmSerializer(a, many=True) return Response(serializedFilm.data)
def get(self, request, factory_id, format=None): film = self.get_object(factory_id) serializer = FilmSerializer(film) return Response(serializer.data)