>source

class Restaurant(db.Model):
    __tablename__= 'Restaurant'
    menu_restaurant= db.relationship('Menu', backref='Restaurant',cascade="all, delete, delete-orphan")
    restaurant_id= db.Column(db.Integer, primary_key=True,autoincrement=True)
    restaurant_name= db.Column(db.String(64),nullable=False)
    restaurant_user_id= db.Column(db.Integer, db.ForeignKey("user.user_id"), nullable=False)
    def __init__(self,restaurant_name,restaurant_user_id):
        self.restaurant_name=restaurant_name
        self.restaurant_user_id=restaurant_user_id
class Menu(db.Model):
    __tablename__= 'menu'
    item_id= db.Column(db.Integer, primary_key=True,autoincrement=True)
    menu_restaurant_id= db.Column(db.Integer, db.ForeignKey('Restaurant.restaurant_id',ondelete='CASCADE'), nullable=False)
    item_name= db.Column(db.String(64))
    item_desc= db.Column(db.String(256))
    item_price= db.Column(db.Numeric(10, 2))
    item_image_path= db.Column(db.String(120), nullable=True)
    def __init__(self, menu_restaurant_id, item_name, item_desc,item_price,item_image):
        self.menu_restaurant_id= menu_restaurant_id
        self.item_name= item_name
        self.item_desc= item_desc
        self.item_price= item_price
        self.item_image= item_image

code 위에서 레스토랑과 메뉴 간의 일대다 관계를 식별하고 싶습니다. 하나의 레스토랑에는 많은 메뉴가 있지만 각 메뉴는 하나의 레스토랑과 관련되어야합니다. 사실이 아니라면 도움이 필요합니다.

  • 답변 # 1

    올바른 방법으로 하신 것 같습니다.

    메인에 데이터를 기록할 때 오류가 표시됩니까?

    그렇지 않다면 html(jinja templating)에서 for 루프를 사용하여 해당 레스토랑에 메뉴가 많은지 확인해야 합니다. 나는 당신이 jinja에 익숙하고 테이블에서 데이터를 검색할 줄 알고 있다고 가정합니다.

    그 식당의 모든 메뉴를 검색할 수 있도록 힌트를 주는 것뿐입니다.

    <피>...

    extract_menus= Restaurant.query.filter_by(Restaurant.menu_restaurant).()
    return render_template('xyz.html', extract_menus=extract_menus)
    

    이후에 html 템플릿을 작업하세요.

    정확하거나 가까운 답변, 제안 또는 질문을 드릴 수 있기를 바랍니다.

  • 이전 FontAwesome 반응 네이티브 경고
  • 다음 UK(Unknown) 문자열을 날짜 형식으로 변환하는 가장 좋은 방법은 무엇입니까? (예: 2022-02-UK ->2022-02-28)