SQLAlchemy外部キー制約

2900 ワード

外部キーの追加
  • db.ForeignKey(‘users.id’)
  • articleはauthor
  • に依存する
  • 文書と著者は、外部キー
  • として多対多方参照の少数方のIDである.
    db = SQLAlchemy(app)
    
    class Users(db.Model):
        __tablename__ = 'users'
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        username = db.Column(db.String(100), nullable=False)
    
    class Article(db.Model):
        __tablename__ = "article"
        id =db.Column(db.Integer,primary_key=True, autoincrement=True)
        title = db.Column(db.String(100), nullable=False)
        content = db.Column(db.Text, nullable=False)
        author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    

    マッピング関係の追加
  • Articleにauthorオブジェクト属性
  • を追加
  • backrefは、Usersにarticles記事オブジェクトリスト
  • を追加することに相当する.
    author = db.relationship('Users',backref=db.backref('articles'))
    --  :
             Article      
          Users             
          articles        Users    Article                  articles,        
         Java ORM  MyBatis