class TheaterTicketModel(TheaterTicketMixin, db.Model): __tablename__ = 'theater_tickets' test_model = TestTheaterTicketModel showtime_id = db.Column(db.Integer(), db.ForeignKey('showtimes.id')) theater_id = db.Column(db.Integer(), db.ForeignKey('theaters.id'))
class ViewModel(ViewMixin, db.Model): __tablename__ = 'views' user_id = db.Column(db.Integer(), db.ForeignKey('users.id')) post_id = db.Column(db.Integer(), db.ForeignKey('posts.id')) test_model = TestViewModel
class TestShowtimeModel(ShowtimeMixin, db.Model): __tablename__ = 'test_showtimes' __table_args__ = {'extend_existing': True} movie_id = db.Column(db.Integer, db.ForeignKey('test_movies.id')) theater_id = db.Column(db.Integer, db.ForeignKey('test_theaters.id')) theater = db.relationship('TestTheaterModel')
class TestShowtimeModel(ShowtimeMixin, db.Model): __tablename__ = 'test_showtimes' cinema_id = db.Column(db.Integer, db.ForeignKey('test_cinemas.id')) movie_id = db.Column(db.Integer, db.ForeignKey('test_movies.id')) theater_id = db.Column(db.Integer, db.ForeignKey('test_theaters.id')) theater = db.relationship('TestTheaterModel', backref='showtimes')
class CommentModel(CommentMixin, db.Model): __tablename__ = 'comments' user_id = db.Column(db.Integer(), db.ForeignKey('users.id')) post_id = db.Column(db.Integer(), db.ForeignKey('posts.id')) parent_id = db.Column(db.Integer(), nullable=True) test_model = TestCommentModel
class Test(db.Model): __tablename__ = 'tests' __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, primary_key=True, autoincrement=True) message = db.Column(db.String(120)) def __init__(self, message=None): self.message = message
class TestMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) message = db.Column(db.String(120)) def __init__(self, message=None): self.message = message def __repr__(self): return '<Test {0}>'.format(self.id)
class TheaterMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) cinema_id = db.Column(db.Integer()) title = db.Column(db.String(10)) seat = db.Column(db.Integer()) def __init__(self, cinema_id=None, title=None, seat=None): self.cinema_id = cinema_id self.title = title self.seat = seat
class TheaterTicketMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) showtime_id = db.Column(db.Integer()) x = db.Column(db.Integer()) y = db.Column(db.Integer()) def __init__(self, theater_id=None, showtime_id=None, x=None, y=None): self.theater_id = theater_id self.showtime_id = showtime_id self.x = x self.y = y
class UserMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) email = db.Column(db.String(120), unique=True) nickname = db.Column(db.String(20), unique=True) password = db.Column(db.String(255)) phone_number = db.Column(db.String(20)) age = db.Column(db.Integer) profile_url = db.Column(db.Text) token = db.Column(db.String(40), unique=True, default=get_token()) def __init__(self, email=None, nickname=None, password=None, phone_number=None, age=None, profile_url=None, token=None): self.email = email self.nickname = nickname self.password = password self.phone_number = phone_number self.age = age self.profile_url = profile_url self.token = token
class TheaterTicketModel(TheaterTicketMixin, db.Model): __tablename__ = 'theater_tickets' __table_args__ = {'extend_existing': True} test_model = TestTheaterTicketModel theater_id = db.Column(db.Integer(), db.ForeignKey('theaters.id'))
class CinemaMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(30)) image_url = db.Column(db.Text()) address = db.Column(db.String(50)) detail_address = db.Column(db.String(30)) def __init__(self, title=None, image_url=None, address=None, detail_address=None): self.title = title self.image_url = image_url self.address = address self.detail_address = detail_address
class TestTheaterModel(TheaterMixin, db.Model): __tablename__ = 'test_theaters' cinema_id = db.Column(db.Integer(), db.ForeignKey('test_cinemas.id')) theater_tickets = db.relationship('TestTheaterTicketModel', backref='theater')
class PostModel(PostMixin, db.Model): __tablename__ = 'posts' user_id = db.Column(db.Integer(), db.ForeignKey('users.id')) tags = db.relationship('TagModel', backref='post') test_model = TestPostModel
class ShowtimeMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) cinema_id = db.Column(db.Integer) start_time = db.Column(db.DateTime) end_time = db.Column(db.DateTime) def __init__(self, movie_id=None, cinema_id=None, theater_id=None, start_time=None, end_time=None): self.movie_id = movie_id self.cinema_id = cinema_id self.theater_id = theater_id self.start_time = start_time self.end_time = end_time
class MovieMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(120)) director = db.Column(db.String(20)) description = db.Column(db.Text) poster_url = db.Column(db.Text) running_time = db.Column(db.Integer) age_rating = db.Column(db.Integer)
class MovieMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(120)) director = db.Column(db.String(20)) description = db.Column(db.Text) poster_url = db.Column(db.Text) running_time = db.Column(db.Integer) age_rating = db.Column(db.Integer) def __init__(self, title=None, director=None, description=None, poster_url=None, running_time=None, age_rating=None): self.title = title self.director = director self.description = description self.poster_url = poster_url self.running_time = running_time self.age_rating = age_rating
class ViewMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) ip_address = db.Column(db.String(15)) created_at = db.Column(db.DateTime, default=datetime.now())
class ShowtimeMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) start_time = db.Column(db.DateTime) end_time = db.Column(db.DateTime)
class CinemaMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(30)) image_url = db.Column(db.Text()) address = db.Column(db.String(50)) detail_address = db.Column(db.String(30))
class UserMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) email = db.Column(db.String(120), unique=True) nickname = db.Column(db.String(20), unique=True) password = db.Column(db.String(255)) age = db.Column(db.Integer)
class TheaterMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(10)) seat = db.Column(db.Integer())
class TestMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) message = db.Column(db.String(120))
class TagMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(255))
class TheaterTicketMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) x = db.Column(db.Integer()) y = db.Column(db.Integer())
class CommentMixin: id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.Text) created_at = db.Column(db.DateTime, default=datetime.now()) updated_at = db.Column(db.DateTime, onupdate=datetime.now(), default=datetime.now())
class TagModel(TagMixin, db.Model): __tablename__ = 'tags' post_id = db.Column(db.Integer(), db.ForeignKey('posts.id')) test_model = TestTagModel