SQLAlchemyの外部キー

テーブル

sqlalchemy.ormのインポート関係
 から SQLAlchemyのインポートカラム
 から SQLAlchemyのインポート整数、文字列、のForeignKeyの

クラス出発(塩基):
     __tablename__ = ' 逸脱' 
    ID =カラム(整数、PRIMARY_KEY = TRUE)
    表題 = =列(文字列(32)、インデックスを確かに、NULL可能= False)が

クラスのユーザー(ベース):
     __tablename__ = ' ユーザー' 

    ID =列(整数、PRIMARY_KEY = 真)
    の名前カラム=(文字列(32)、インデックス= Trueの場合、NULL可能= False)が
    depart_id =列(整数、ForeignKeyの(" depart.id " ))
    DP連絡先を作成して、フィールドを作成していない 
    DP =関係(" 出発のを"、後方参照= " PERS "

第二に、データ操作

1、組織内のすべてのユーザーのためのクエリ。+ 
RET = session.query(users.id、Users.name、Depart.title).join(出発の、Users.depart_id == Depart.id).ALL()
 のためのRET :
     印刷(row.id、row.name、row.title) 

参加し、SQL文の左に 
クエリ= session.query(users.id、Users.name、 Depart.title).join(出発、Users.depart_id ==出発を.ID、isouter = TRUE)
 印刷(クエリ)

関連分野での2:。+組織内のすべてのユーザーを照会するには====>前方のお問い合わせはお勧め 
RET = session.query(ユーザー).ALL()
 のための行の中でRET:
     印刷(row.id、row.name、row.depart_id、row.dp.title) 

3.関係フィールド:推奨=======すべての人員を照会販売>逆引き参照 
OBJ = session.query(出発の).filter(Depart.title == 売上)1次回()
 のためのobj.pers:
     印刷(row.id、row.name、obj.title) 

4と呼ばれる名前を作成します:IT部門は、その後、セクターの従業員に追加
#の方法: 
D1 =出発の(タイトル= " IT ' 
session.add(D1)
Session.commit()
#1
 U1 =ユーザー(NAME = ' A '、depart_id = d1.id)
session.add(U1)
Session.commit() 

方法:リレーション使用 
U1を=ユーザー(名前= "'Dpは=出発の(タイトル= ' IT " ))
session.add(U1)
Session.commit() 

5と呼ばれる名前を作成します。分野でより多くの従業員を追加し、部門の清掃を:A / B / C 
D1 =出発の(タイトル= ' クリーニング' 
d1.pers = [ユーザー(NAME = ' A ')、ユーザ(NAME = ' B ')、ユーザ(NAME = ' C ' )] 
session.add(D1)
session.commit()

 

おすすめ

転載: www.cnblogs.com/wt7018/p/11617825.html