Exemplo n.º 1
0
 def update(self, instance, validated_data):
     instance.name = validated_data.get('name', instance.name)
     instance.popularity_99 = validated_data.get('popularity_99',
                                                 instance.popularity_99)
     instance.imdb_score = validated_data.get('imdb_score',
                                              instance.imdb_score)
     instance.director = validated_data.get('director', instance.director)
     # update genre
     # print genre
     # print validated_data
     if "genre" in validated_data and isinstance(validated_data["genre"],
                                                 list):
         instance.genre = []
         for genre in validated_data['genre']:
             # print genre
             exists, obj = Genre.name_exists(genre)
             if exists:
                 instance.genre.add(obj)
             else:
                 serializer = GenreSerializer(data={"name": genre})
                 if serializer.is_valid():
                     obj = serializer.save()
                     instance.genre.add(obj)
                 else:
                     raise exceptions.ValidationError({
                         "success": False,
                         "error": {
                             "slug_errors": [
                                 "There is a movie with same slug so choose  different name"
                             ]
                         }
                     })
     return instance
Exemplo n.º 2
0
 def create(self, validated_data):
     new_movie = Movie(name=validated_data['name'],
                       director=validated_data['director'],
                       popularity_99=validated_data['popularity_99'],
                       imdb_score=validated_data['imdb_score'])
     new_movie.save()
     # add genre
     # print genre
     # print validated_data
     # print isinstance(validated_data["genre"],list)
     if "genre" in validated_data and isinstance(validated_data["genre"],
                                                 list):
         for genre in validated_data['genre']:
             # print 'the genre is',genre
             exists, obj = Genre.name_exists(genre)
             # print obj
             # print exists
             if exists:
                 new_movie.genre.add(obj)
             # print '==================================== '
             serializer = GenreSerializer(data={"name": genre})
             if serializer.is_valid():
                 obj = serializer.save()
                 new_movie.genre.add(obj)
     return new_movie