def to_movie_model(self): mm = Movie(movieID=self.movieId) # update foreign key location = None if self.location: location = create_region(self.location, self.location_name, 'movie') # update m2m genres = [] if self.subcates: for i in range(len(self.subcates)): subcate = self.subcates[i] subcate_name = '' if self.subcates_name: try: subcate_name = self.subcates_name[i] except: subcate_name = '' genre = create_genre(subcate, subcate_name, 'movie') genres.append(genre) #mm.subcategory.add(genres) manufacs = [] if self.manufacturers: for i in range(len(self.manufacturers)): manufacturerName = self.manufacturers[i] manufac = create_manufacturer(manufacturerName, 'movie') manufacs.append(manufac) #mm.manufacturers.add(manufacs) coworkers = [] if self.directors: for i in range(len(self.directors)): personName = self.directors[i] person = create_people(None, personName, 'director', 'movie') coworkers.append(person) #mm.directors.add(coworkers) casts = [] if self.casts: for i in range(len(self.casts)): cast = self.casts[i] person = create_people(None, cast, 'cast', 'movie') casts.append(person) #mm.casts.add(casts) tags = [] if self.tags: for i in range(len(self.tags)): the_tag = self.tags[i] tag = create_tag(the_tag, 'movie') tags.append(tag) #mm.tags.add(tags) # update fields mm.movie_name = self.movie_name if self.isSingle is not None: mm.is_single_movie = self.isSingle if self.imdb is not None: mm.IMDB_score = self.imdb if self.size is not None: mm.size = self.size if self.isHD is not None: mm.is_HD = self.isHD if self.release_year is not None: mm.release_year = self.release_year if self.isPayment: mm.payment = self.isPayment if self.isDrama: mm.movie_type = 'drama' elif self.isCinema: mm.movie_type = 'cinema' else: mm.movie_type = None mm.image_url = self.image_url if self.view_count is not None: mm.view_count = self.view_count return (mm, { 'location':location, }, {'genres': genres, 'manufacs': manufacs, 'coworkers': coworkers, 'casts': casts, 'tags': tags, })