タグ

ブックマーク / qiita.com/1234224576 (1)

  • SQLAlchemyのback_populatesとbackrefの違いとどちらも使わない場合 - Qiita

    SQLAlchemyのback_populatesとbackrefって何がどう違うの?っていうかどっちも書かないとどうなるの?という話。 結論から書くと、 (1)backrefを使用した場合 双方向のリレーションを自動的に組んでくれる。 (2)back_populatesを使用した場合 双方向のリレーションを自分で組む必要がある。 (3)back_populatesもbackrefも使用しない場合 トランザクション中、逆方向のフィールドが自動更新されない。 ということになる。 では、具体例を見ていく。 例としてEventモデルとTicketモデルを考える。 1つのEventは複数のTicketをもっている、One to Manyの関係。 backrefを使用した場合 class Event(Base): __tablename__ = 'event' id = Column(Integer

    SQLAlchemyのback_populatesとbackrefの違いとどちらも使わない場合 - Qiita
  • 1