データのクエリ
接続 の手順を使用して接続し、メタデータの反映 メソッドのいずれかを使用してメタデータの一部を反映させたら、セッションオブジェクトを使用してデータをクエリできます。
query メソッドを使用したデータのクエリ
マッピングクラスが用意されている場合は、セッションオブジェクトと併用してデータソースをクエリします。エンジンをセッションにバインドしたら、マッピングクラスをセッションのクエリメソッドに提供します。次に例を示します。
engine = create_engine("sage50uk:///?URL=http://localhost:5493/sdata/accounts50/GCRM/{C4C863BE-B098-4A7D-A78B-D7A92B8ADB59};User=Manager;Password=xxxxxx;")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(TradingAccounts).filter_by(TradingAccountUUID="c2ef66a5-a545-413b-9312-79a53caadbc4"):
print("TradingAccountUUID: ", instance.TradingAccountUUID)
print("TradingAccountUUID: ", instance.TradingAccountUUID)
print("Name: ", instance.Name)
print("---------")
execute メソッドを使用したデータのクエリ
セッションオブジェクトは、適切なテーブルオブジェクトと一緒にexecute() メソッドを使用してクエリを実行することもできます。アクティブなセッションがあると仮定すると、以下は同様に実行可能です。TradingAccounts_table = TradingAccounts.metadata.tables["TradingAccounts"]
for instance in session.execute(TradingAccounts_table.select().where(TradingAccounts_table.c.TradingAccountUUID == "c2ef66a5-a545-413b-9312-79a53caadbc4")):
print("Id: ", instance.Id)
print("FullName: ", instance.Name)
print("City: ", instance.BillingCity)
print("---------")