class KeepMovies(db.Model): __tablename__ = "keep_movies" id = db.Column(db.Integer(), primary_key=True) movie_id = db.Column(db.Integer(), db.ForeignKey('movies.movie_id')) naver_id = db.Column(db.Integer(), db.ForeignKey('naver_movies.id')) naver_api_info = db.relationship("NaverMovies", backref='keeps', lazy=True) rendered_movies = db.relationship("Movies", backref="keeps", lazy=True)
class RatingUsers(db.Model): __tablename__ = "rating_users" id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer()) rating = db.Column(db.Float()) movie_id = db.Column(db.Integer(), db.ForeignKey('movies.movie_id')) def __repr__(self): return f"< user: {self.user_id}, movie id: {self.movie_id}, rating: {self.rating} >"
class RatingClient(db.Model): __tablename__ = "rating_client" id = db.Column(db.Integer(), primary_key=True) client_rating = db.Column(db.Integer()) # movie id movie_id = db.Column(db.Integer(), db.ForeignKey('movies.movie_id')) naver_id = db.Column(db.Integer(), db.ForeignKey('naver_movies.id')) # rated_users = db.relationship("RatingUsers", backref='ratingclient', lazy=True) naver_api_info = db.relationship("NaverMovies", backref='clientrating', lazy=True) def __repr__(self): return f"< id: {self.movie_id}, rating: {self.client_rating} >"
class RenderMovies(db.Model): __tablename__ = "render_movies" id = db.Column(db.Integer(), primary_key=True) movie_id = db.Column(db.Integer(), db.ForeignKey('movies.movie_id')) naver_id = db.Column(db.Integer(), db.ForeignKey('naver_movies.id')) rendered_movies = db.relationship("Movies", back_populates="rendered", lazy=True) naver_api_info = db.relationship("NaverMovies", backref='rendered', lazy=True) def __repr__(self): return f"< movie_id: {self.movie_id} >"
class Movies(db.Model): __tablename__ = "movies" id = db.Column(db.Integer(), primary_key=True) movie_id = db.Column(db.Integer(), unique=True) title = db.Column(db.String()) genre = db.Column(db.String()) weight_rating = db.Column(db.Float()) rendered = db.relationship("RenderMovies", back_populates="rendered_movies", lazy=True) # rated_users = db.relationship("RatingUsers", back_populates="rating_movie", lazy=True) def __repr__(self): return f"< movie id: {self.movie_id}, title: {self.title}, w_rating: {self.weight_rating} >"
class NaverMovies(db.Model): __tablename__ = "naver_movies" id = db.Column(db.Integer(), primary_key=True) title_original = db.Column(db.String()) title_kr = db.Column(db.String()) pubdate = db.Column(db.String()) image = db.Column(db.String()) actor = db.Column(db.String()) director = db.Column(db.String()) movie_id = db.Column(db.Integer(), db.ForeignKey('movies.movie_id')) def __repr__(self): return f"< title: {self.title_kr} ({self.pubdate}) >"
class NotSeenClient(db.Model): __tablename__ = "notseen_client" id = db.Column(db.Integer(), primary_key=True) movie_id = db.Column(db.Integer())