-1

それは単純でなければなりませんが、これを機能させる方法が見つかりません。以下に示すように、テーブルを作成するか、既存のデータベースから自動ロードを使用してテーブル オブジェクトを生成するとします

from sqlalchemy import create_engine, MetaData, Column, String, Table

engine = create_engine('sqlite://')
meta = MetaData(bind=engine)

def create_table(meta):
    tbl = Table('User', meta,
            Column('name', String),
            Column('surname', String),
    )

    meta.create_all()
    return tbl

tbl = create_table(meta)

そして今、セッションなどを使いたいとします

 session.add(myobject)

テーブルを直接呼び出そうとしてもうまくいかないため、実際にそのテーブルからオブジェクトを作成するにはどうすればよいですか。

Traceback (most recent call last):
  File "sample.py", line 17, in <module>
    tbl(name='dfd')
TypeError: 'Table' object is not callable

ですから、ある種のマッピングが必要だと思いますが、どうすればよいでしょうか?

4

1 に答える 1

-1

初めて SA を掘り下げようとしている場合は、チュートリアルから直接開始してから、独自のユース ケースに合わせて変更することをお勧めします。SA を使用することは、DBAPI アプローチから大きく飛躍する可能性があります (少なくとも、私と私のチームにとってはそうでした)。

サンプル コードは、ORM インターフェイスではないコア チュートリアルを使用しています。あなたの質問は (質問のタイトルと同様に) の使用について言及しているため、 ORM チュートリアルmapperに従ってください。ここでそのコードを再現するのではなく、そのページにアクセスして、公開されている例を実行することをお勧めします。

于 2012-08-01T18:33:45.690 に答える