列名とその型のセットを指定すると、テーブルと対応するマップされたクラスをインスタンス化する目的は
です。Sqlalchemyはテーブルとマップされたクラスを動的に作成します
ここに投稿された質問に関連しています:Dynamic Class Creation in SQLAlchemy。
table = Table(tbl,
metadata,
*(Column(col, ctype, primary_key=pk, index=idx) for col, ctype, pk, idx in zip(attrs, types, primary_keys, indexes))
)
これは、テーブルオブジェクトを作成します。
は、これまでのところ、私は次のよう持っています。今では、対応するクラスを作成する必要があります。
mydict={'__tablename__':tbl}
cls = type(cls_name, (Base,), mydict)
これは私に次のエラーを与える:
ArgumentError: Mapper Mapper|persons_with_coord|t_persons_w_coord could not assemble any primary key columns for mapped table
私の質問は、私はクラス作成の一環として、主キーを指定する方法です。 とクラスを作成した後、私は次のようにマッパーを呼び出す必要がありません:
mapper(cls, table)