class ReviewDto(db.Model): __tableName__ = "reviews" __table_args__ = {'mysql_collate': 'utf8_general_ci'} rev_id: int = db.Column(db.Integer, primary_key=True, index=True) review_title: str = db.Column(db.String(100)) review_detail: str = db.Column(db.String(500)) user_id = db.Column(db.String(10), db.ForeignKey(UserDto.user_id)) user = db.relationship('UserDto', back_populates='reviews') item_id = db.Column(db.Integer, db.ForeignKey(ItemDto.item_id)) item = db.relationship('ItemDto', back_populates='reviews') def __init__(self, title, review_detail, user_id, item_id): self.review_title = title self.review_detail = review_detail self.user_id = user_id self.item_id = item_id def __repr__(self): return f'rev_id={self.rev_id}, user_id={self.user_id}, item_id={self.item_id},\ review_title={self.review_title}, review_detail={self.review_detail}' def json(self): return { 'rev_id': self.rev_id, 'user_id': self.user_id, 'item_id': self.item_id, 'review_title': self.review_title, 'review_detail': self.review_detail }
class CheeseDto(db.Model): __tablename__ = 'cheeses' __table_args__ = {'mysql_collate': 'utf8_general_ci'} # cname -> name으로 바꿈 # cname으로 하면 DB에 NULL 값이 들어감 cheese_id: str = db.Column(db.String(30), primary_key=True, index=True) name: str = db.Column(db.String(30), primary_key=True) ranking: int = db.Column(db.Integer) category: str = db.Column(db.String(30)) brand: str = db.Column(db.String(30)) content: str = db.Column(db.String(100)) texture: str = db.Column(db.String(30)) types: str = db.Column(db.String(30)) price: int = db.Column(db.Integer) img: str = db.Column(db.String(255)) # diary = db.relationship('DiaryDto', lazy='dynamic') # orders = db.relationship('OrderDto', back_populates='cheese', lazy='dynamic') # prices = db.relationship('PriceDto', back_populates='cheese', lazy='dynamic') def __init__(self, cheese_id, ranking, category, brand, name, content, texture, types, price, img): self.cheese_id = cheese_id self.ranking = ranking self.category = category self.brand = brand self.name = name self.content = content self.texture = texture self.types = types self.price = price self.img = img def __repr__(self): return f'cheese(cheese_id={self.cheese_id}, ranking={self.ranking}, category={self.category}, \ brand={self.brand}, name={self.name}, content={self.content}, texture={self.texture}, \ types={self.types}, price={self.price}, img={self.img})' def __str__(self): return f'cheese(cheese_id={self.cheese_id}, ranking={self.ranking}, category={self.category}, \ brand={self.brand}, name={self.name}, content={self.content}, texture={self.texture}, \ types={self.types}, price={self.price}, img={self.img})' @property def json(self): return { 'cheese_id': self.cheese_id, 'ranking': self.ranking, 'category': self.category, 'brand': self.brand, 'name': self.name, 'content': self.content, 'texture': self.texture, 'types': self.types, 'price': self.price, 'img': self.img }
class RecommendDto(db.Model): __tablename__ = 'recommends' __table_args__ = {'mysql_collate':'utf8_general_ci'} # recommend_id: str = db.Column(db.String(20), primary_key=True, index=True) user_id = db.Column(db.String(20), primary_key=True, index=True) chooseFood_1: str = db.Column(db.String(100)) chooseFood_2: str = db.Column(db.String(100)) chooseFood_3: str = db.Column(db.String(100)) chooseFood_4: str = db.Column(db.String(100)) # user_id = db.Column(db.String(20), db.ForeignKey(UserDto.user_id)) # FK(user_id) # orders = db.relationship('OrderDto', back_populates='user', lazy='dynamic') # cheeses = db.relationship('CheeseDto', back_populates='users', lazy='dynamic') # reviews = db.relationship('ReviewDto', back_populates='user', lazy='dynamic') # 관계 설정 #reviews = db.relationship('ReviewDto', back_populates='users') def __init__(self, user_id, chooseFood_1, chooseFood_2, chooseFood_3, chooseFood_4): # self.recommend_id = recommend_id self.user_id = user_id self.chooseFood_1 = chooseFood_1 self.chooseFood_2 = chooseFood_2 self.chooseFood_3 = chooseFood_3 self.chooseFood_4 = chooseFood_4 # def __repr__(self): # return f'recommend_id={self.recommend_id}, chooseFood_1={self.chooseFood_1}, chooseFood_2={self.chooseFood_2}, \ # user_id = {self.user_id}' # def __str__(self): # return f'recommend_id={self.recommend_id}, chooseFood_1={self.chooseFood_1}, chooseFood_2={self.chooseFood_2}, \ # user_id = {self.user_id}' def __repr__(self): return f'user_id = {self.user_id}chooseFood_1={self.chooseFood_1}, chooseFood_2={self.chooseFood_2}, \ chooseFood_3={self.chooseFood_3}, chooseFood_4={self.chooseFood_4}' def __str__(self): return f'user_id = {self.user_id}, chooseFood_1={self.chooseFood_1}, chooseFood_2={self.chooseFood_2}, \ chooseFood_3={self.chooseFood_3}, chooseFood_4={self.chooseFood_4}' @property def json(self): return { # 'recommend_id' : self.recommend_id, 'user_id': self.user_id, 'chooseFood_1': self.chooseFood_1, 'chooseFood_2': self.chooseFood_2, 'chooseFood_3': self.chooseFood_3, 'chooseFood_4': self.chooseFood_4 }
class OrderDto(db.Model): __tablename__ = 'orders' __table_args__ = {'mysql_collate': 'utf8_general_ci'} order_no: int = db.Column(db.Integer, primary_key=True, autoincrement=True, index=True) user_id: str = db.Column(db.String(20)) gender: str = db.Column(db.String(5)) age: int = db.Column(db.Integer) cheese_name: str = db.Column(db.String(100)) cheese_texture: str = db.Column(db.String(100)) cheese_category: str = db.Column(db.String(50)) buy_count: int = db.Column(db.Integer) total_price: int = db.Column(db.Integer) # 관계 설정 # reviews = db.relationship('ReviewDto', back_populates='users', lazy='dynamic') def __init__(self, order_no, user_id, gender, age, cheese_texture, buy_count): self.order_no = order_no self.user_id = user_id self.gender = gender self.age = age self.cheese_name = cheese_name self.cheese_texture = cheese_texture self.cheese_category = cheese_category self.buy_count = buy_count self.total_price = total_price def __repr__(self): return f'User(order_no={self.order_no}, user_id={self.user_id}, \ gender = {self.gender}, age={self.age}, cheese_name={self.cheese_name},\ cheese_texture={self.cheese_texture}, cheese_category={self.cheese_category}, \ buy_count={self.buy_count}, total_price={self.total_price})' def __str__(self): return f'User(order_no={self.order_no}, user_id={self.user_id}, \ gender = {self.gender}, age={self.age}, cheese_name={self.cheese_name},\ cheese_texture={self.cheese_texture}, cheese_category={self.cheese_category}, \ buy_count={self.buy_count}, total_price={self.total_price})' @property def json(self): return { 'order_no': self.order_no, 'user_id': self.user_id, 'gender': self.gender, 'age': self.age, 'cheese_name': self.cheese_name, 'cheese_texture': self.cheese_texture, 'cheese_category': self.cheese_category, 'buy_count': self.buy_count, 'total_price': self.total_price, # 'count': self.count # 'rank': self.rank }
class OrderDto(db.Model): __tablename__ = 'orders' __table_args__ = {'mysql_collate': 'utf8_general_ci'} order_no: int = db.Column(db.Integer, primary_key=True, autoincrement=True, index=True) user_id: str = db.Column(db.String(20), db.ForeignKey(UserDto.user_id)) # FK cheese_id: str = db.Column(db.String(30), db.ForeignKey(CheeseDto.cheese_id)) # FK # gender: str = db.Column(db.String(5)), User Table # age: int = db.Column(db.Integer), User Table # cheese_name: str = db.Column(db.String(100)) # cheese_texture: str = db.Column(db.String(100)) # cheese_category: str = db.Column(db.String(50)) buy_count: int = db.Column(db.Integer) total_price: int = db.Column(db.Integer) # 관계 설정 # reviews = db.relationship('ReviewDto', back_populates='users', lazy='dynamic') def __init__(self, order_no, user_id, cheese_id, buy_count, total_price): self.order_no = order_no self.user_id = user_id self.cheese_id = cheese_id self.buy_count = buy_count self.total_price = total_price def __repr__(self): return f'User(order_no={self.order_no}, user_id={self.user_id}, \ cheese_id={self.cheese_id}, buy_count={self.buy_count}, total_price={self.total_price})' def __str__(self): return f'User(order_no={self.order_no}, user_id={self.user_id}, \ cheese_id={self.cheese_id}, buy_count={self.buy_count}, total_price={self.total_price})' # @property def json(self): return { 'order_no': self.order_no, 'user_id': self.user_id, 'cheese_id': self.cheese_id, 'buy_count': self.buy_count, 'total_price': self.total_price # 'count': self.count # 'rank': self.rank }
class ReviewDto(db.Model): __tablename__ = "reviews" __table_args__ = {'mysql_collate': 'utf8_general_ci'} review_no: int = db.Column(db.Integer, primary_key=True, index=True) # PK review_title: str = db.Column(db.String(100)) review_detail: str = db.Column(db.String(500)) # user_no = db.Column(db.Integer, db.ForeignKey(UserDto.user_no)) # FK(user_no) user_id = db.Column(db.String(20), db.ForeignKey(UserDto.user_id)) # FK(user_id) cheese_id = db.Column(db.String(30), db.ForeignKey(CheeseDto.cheese_id)) # FK(cheese_id) # time_created = db.Column(db.DateTime(timezone=True), server_default=func.now()) # time_created = Column(DateTime(timezone=True), server_default=func.now()) # time_updated = Column(DateTime(timezone=True), onupdate=func.now()) # 관계 설정 # user = db.relationship('UserDto', back_populates='reviews') # cheese = db.relationship('CheeseDto', back_populates='reviews') def __init__(self, review_no, review_title, review_detail, user_id, cheese_id): self.review_no = review_no self.review_title = review_title self.review_detail = review_detail self.user_id = user_id # self.user_no = user_no self.cheese_id = cheese_id def __repr__(self): return f'review_no={self.review_no}, user_id={self.user_id}, cheese_id={self.cheese_id},\ review_title={self.review_title}, review_detail={self.review_detail}' def json(self): return { 'review_no': self.review_no, 'review_title': self.review_title, 'review_detail': self.review_detail, 'user_id': self.user_id, # 'user_no': self.user_no, 'cheese_id': self.cheese_id }
class ChatbotDto(db.Model): __tablename__ = 'chatbots' __table_args__ = {'mysql_collate': 'utf8_general_ci'} chatbot_id: str = db.Column(db.String(20), primary_key=True, index=True) tasty: str = db.Column(db.String(5)) texture: str = db.Column(db.String(5)) feeling: str = db.Column(db.String(5)) # user_id = db.Column(db.String(20), db.ForeignKey(UserDto.user_id)) # FK(user_id) # orders = db.relationship('OrderDto', back_populates='user', lazy='dynamic') # cheeses = db.relationship('CheeseDto', back_populates='users', lazy='dynamic') # reviews = db.relationship('ReviewDto', back_populates='user', lazy='dynamic') # 관계 설정 #reviews = db.relationship('ReviewDto', back_populates='users') def __init__(self, chatbot_id, tasty, texture, feeling): self.chatbot_id = chatbot_id self.tasty = tasty self.texture = texture self.feeling def __repr__(self): return f'chatbot_id={self.chatbot_id}, tasty={self.tasty}, texture={self.texture}, \ feeling={self.feeling}' def __str__(self): return f'chatbot_id={self.chatbot_id}, tasty={self.tasty}, texture={self.texture}, \ feeling={self.feeling}' @property def json(self): return { # 'user_no' : self.user_no, 'chatbot_id': self.chatbot_id, 'tasty': self.tasty, 'texture': self.texture, 'feeling': self.feeling }
class UserDto(db.Model): __tablename__ = 'users' __table_args__ = {'mysql_collate':'utf8_general_ci'} # user_no: int = db.Column(db.Integer, primary_key= True, index = True) user_id: str = db.Column(db.String(20), primary_key=True, index=True) password: str = db.Column(db.String(5)) name: str = db.Column(db.String(5)) gender: str = db.Column(db.String(5)) age: int = db.Column(db.Integer) phone: str = db.Column(db.String(20)) email: str = db.Column(db.String(100)) # cheese_texture: int = db.Column(db.Integer) # buy_count: int = db.Column(db.Integer) # orders = db.relationship('OrderDto', back_populates='user', lazy='dynamic') # prices = db.relationship('PriceDto', back_populates='user', lazy='dynamic') # articles = db.relationship('ArticleDto', back_populates='user', lazy='dynamic') # reviews = db.relationship('ReviewDto', back_populates='users', lazy='dynamic') # 관계 설정 #reviews = db.relationship('ReviewDto', back_populates='users') def __init__(self, user_id, password, name, gender, age, phone, email): self.user_id = user_id self.password = password self.name = name self.gender = gender self.age = age self.phone = phone self.email = email def __repr__(self): return f'User(user_id={self.user_id}, password={self.password}, name={self.name}, \ gender = {self.gender}, age={self.age}, phone={self.phone}, email={self.email})' def __str__(self): return f'User(user_id={self.user_id}, password={self.password}, name={self.name}, \ gender = {self.gender}, age={self.age}, phone={self.phone}, email={self.email})' @property def json(self): return { # 'user_no' : self.user_no, 'user_id' : self.user_id, 'password': self.password, 'name': self.name, 'gender': self.gender, 'age': self.age, 'phone': self.phone, 'email': self.email }
class UserDto(db.Model): __tablename__ = 'users' __table_args__ = {'mysql_collate': 'utf8_general_ci'} userid: str = db.Column(db.String(10), primary_key=True, index=True) password: str = db.Column(db.String(1)) name: str = db.Column(db.String(100)) pclass: int = db.Column(db.Integer) gender: int = db.Column(db.Integer) age_group: int = db.Column(db.Integer) embarked: int = db.Column(db.Integer) rank: int = db.Column(db.Integer) def __init__(self, userid, password, name, pclass, gender, age_group, embarked, rank): self.userid = userid self.password = password self.name = name self.pclass = pclass self.gender = gender self.age_group = age_group self.embarked = embarked self.rank = rank def __repr__(self): return f'User(id={self.id}, userid={self.userid},\ password={self.password}, name={self.name}, pclass={self.pclass}, gender={self.gender}, \ age_group={self.age_group}, embarked={self.embarked}, rank={self.rank})' @property def json(self): return { 'userid': self.userid, 'password': self.password, 'name': self.name, 'pclass': self.pclass, 'gender': self.gender, 'age_group': self.age_group, 'embarked': self.embarked, 'rank': self.rank }
class UserDto(db.Model): __tablename__ = 'users' __table_args__ = {'mysql_collate': 'utf8_general_ci'} user_index: int = db.Column(db.Integer, primary_key=True, index=True) user_id: str = db.Column(db.String(20)) password: str = db.Column(db.String(1)) gender: int = db.Column(db.Integer) age_group: int = db.Column(db.Integer) cheese_texture: int = db.Column(db.Integer) buy_count: int = db.Column(db.Integer) # orders = db.relationship('OrderDto', back_populates='user', lazy='dynamic') # prices = db.relationship('PriceDto', back_populates='user', lazy='dynamic') # articles = db.relationship('ArticleDto', back_populates='user', lazy='dynamic') def __init__(self, user_index, user_id, password, gender, age_group, cheese_texture, buy_count): self.user_index = user_index self.user_id = user_id self.password = password self.gender = gender self.age_group = age_group self.cheese_texture = cheese_texture self.buy_count = buy_count def __repr__(self): return f'User(user_index={self.user_index}, user_id={self.user_id}, password={self.password}, \ gender = {self.gender}, age_group={self.age_group}, \ cheese_texture={self.cheese_texture}, buy_count={self.buy_count})' def __str__(self): return f'User(user_index={self.user_index}, user_id={self.user_id}, password={self.password}, \ gender = {self.gender}, age_group={self.age_group}, \ cheese_texture={self.cheese_texture}, buy_count={self.buy_count})' def json(self): return { 'user_index': self.user_index, 'userId': self.user_id, 'password': self.password, 'gender': self.gender, 'age_group': self.age_group, 'cheese_texture': self.cheese_texture, 'buy_count': self.buy_count }
class ReviewDto(db.Model): __tableName__ = "reviews" __table_args__ = {'mysql_collate': 'utf8_general_ci'} review_no: int = db.Column(db.Integer, primary_key=True, index=True) category: int = db.Column(db.Integer) brand: str = db.Column(db.String(255)) cheese_name: str = db.Column(db.String(255)) review_title: str = db.Column(db.String(100)) review_detail: str = db.Column(db.String(500)) review_views: int = db.Column(db.Integer) # user_id = db.Column(db.String(10), db.ForeignKey(ReviewDto.user_id)) # user = db.relationship('ReviewDto', back_populates='reviews') # item_id = db.Column(db.Integer, db.ForeignKey(ItemDto.item_id)) # item = db.relationship('ItemDto', back_populates='reviews') def __init__(self, review_no, category, brand, cheese_name, review_title, review_detail, review_views): self.review_no = review_no, self.category = category, self.brand = brand, self.cheese_name = cheese_name, self.review_title = title, self.review_detail = review_detail, self.review_views = review_views def __repr__(self): return f'review_no={self.review_no}, category={self.category}, brand={self.brand},\ cheese_name={self.cheese_name}, review_title={self.review_title}, review_detail={self.review_detail}, \ review_views={self.review_views}' def json(self): return { 'review_no': self.review_no, 'category': self.category, 'brand': self.brand, 'cheese_name': self.cheese_name, 'review_title': self.review_title, 'review_detail': self.review_detail, 'review_views': self.review_views }
class CheeseDto(db.Model): __tablename__='cheeses' __table_args__={'mysql_collate':'utf8_general_ci'} ranking : int = db.Column(db.Integer, primary_key=True, index=True) brand : int = db.Column(db.Integer) category: int = db.Column(db.Integer) types : int = db.Column(db.Integer) texture : str = db.Column(db.String(30)) img : str = db.Column(db.String(255)) #dairy = db.relationship('DiaryDto', lazy='dynamic') # orders = db.relationship('OrderDto', back_populates='cheese', lazy='dynamic') # prices = db.relationship('PriceDto', back_populates='cheese', lazy='dynamic') def __init__(self, ranking, brand, category, types, texture, img) : self.ranking = ranking self.brand = brand self.category = category self.types = types self.texture = texture self.img = img def __repr__(self): return f'Cheese(ranking={self.ranking}, brand={self.brand}, category={self.category}, \ types={self.types}, texture={self.texture}, img={self.img})' def __str__(self): return f'Cheese(ranking={self.ranking}, brand={self.brand}, category={self.category}, \ types={self.types}, texture={self.texture}, img={self.img})' @property def json(self): return {'ranking':self.ranking, 'brand':self.brand, 'category':self.category, \ 'types':self.types, 'texture':self.types, 'img':self.img}
class UserDto(db.Model): __tablename__ = 'users' __table_args__ = {'mysql_collate': 'utf8_general_ci'} user_id: str = db.Column(db.String(10), primary_key=True, index=True) #password: str = db.Column(db.String(1)) #name: str = db.Column(db.String(100)) user_gender: str = db.Column(db.String(10)) user_age: int = db.Column(db.Integer) cheese_code: str = db.Column(db.String(100)) cheese_name: str = db.Column(db.String(255)) category: str = db.Column(db.string(100)) sub1_category: str = db.Column(db.string(100)) sub2_category: str = db.Column(db.string(100)) cheese_add_name: str = db.Column(db.string(255)) cheese_brand: str = db.Column(db.string(100)) buy_price: int = db.Column(db.Integer) buy_count: int = db.Column(db.Integer) def __init__(self, user_id, user_gender, user_age, cheese_code, cheese_name, category, sub1_category, sub2_category, cheese_add_name, cheese_brand, buy_price, buy_count): self.user_id = user_id self.user_gender = user_gender self.user_age = user_age self.cheese_code = cheese_code self.cheese_name = cheese_name self.category = category self.sub1_category = sub1_category self.sub2_category = sub2_category self.cheese_add_name = cheese_add_name self.cheese_brand = cheese_brand self.buy_price = buy_price self.buy_count = buy_count def __repr__(self): return f'User(id={self.id}, user_id={self.user_id},\ user_gender={self.password}, user_age={self.name}, cheese_code={self.cheese_code}, cheese_name={self.cheese_name}, category={self.category},\ sub1_category={self.sub1_category}, sub2_category={self.sub2_category}, cheese_add_name={self.cheese_add_name}, cheese_brand={self.cheese_brand},\ buy_price={self.buy_price}, buy_count={self.buy_count}' @property def json(self): return { 'user_id': self.user_id, 'user_gender': self.user_gender, 'user_age': self.user_age, 'cheese_code': self.cheese_code, 'cheese_name': self.cheese_name, 'category': self.category, 'sub1_category': self.sub1_category, 'sub2_category': self.sub2_category, 'cheese_add_name': self.cheese_add_name, 'cheese_brand': self.cheese_brand, 'buy_price': self.buy_price, 'buy_count': self.buy_count }