Flaskで1対多のモデルを定義する方法 - 7月 06, 2018 こんにちは、ぐぐりら(@guglilac)です。 `User`モデルに対して`Item`モデルが複数紐付いている例を載せておきます。 `User`はこんなかんじ。 `cascade="delete"`とすると親が削除された時に紐付いている子をすべて削除するようにできる。 ```python:models.py from main import db class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(100), default='', nullable=False) email = db.Column(db.String(100), unique=True, nullable=False) items = db.relationship("Item", backref="user", lazy="dynamic", cascade="delete") def __init__(self, username, email): self.username = username self.email = email ``` `Item`は以下。 ```python:models.py class Item(db.Model): __tablename__ = "items" id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False) item_name = db.Column(db.String(30), default='', nullable=False) def __init__(self, user_id, item_name): self.user_id = user_id self.item_name = item_name ``` この記事をシェアする Twitter Facebook Google+ B!はてブ Pocket Feedly コメント
コメント
コメントを投稿