0
Sqlalchemyのコアを使用しているので、他の同様の質問のような宣言的な基本クラスを使用していません。 エンジンを使用してテーブルの主キーを取得する方法は?sqlalchemy(コア)のテーブルから主キー列名を取得
Sqlalchemyのコアを使用しているので、他の同様の質問のような宣言的な基本クラスを使用していません。 エンジンを使用してテーブルの主キーを取得する方法は?sqlalchemy(コア)のテーブルから主キー列名を取得
私はちょうど同じ問題に遭遇しました。主キーを検索するテーブルを反映するTableオブジェクトを作成する必要があります。
from sqlalchemy import create_engine, Table, MetaData
dbUrl = 'postgres://localhost:5432/databaseName' #will be different for different db's
engine = create_engine(dbUrl)
meta = MetaData()
table = Table('tableName', meta, autoload=True, autoload_with=engine)
primaryKeyColName = table.primary_key.columns.values()[0].name
上記の表構成は、多くの異なる機能に役立ちます。現在のパッケージは本当に好きではないので、私は地理空間テーブルを管理するのにかなり使っています。
あなたのコメントでは、テーブルを定義していないと言います...私はあなたがテーブルのsqlalchemyモデルを作成していないと思います。上記のアプローチでは、これを行う必要はなく、あらゆる種類の情報をテーブルからより動的に収集することができます。あなたが他人の手の込んだデータベースを手渡された場合に特に便利です!
希望に役立ちます。
あなたは明確にする必要があります。あなたはデータベースのスキーマからそれを取得したいですか?あるいは、Pythonのテーブル定義からそれを取得したいのですか? – univerio
私はテーブルを定義していませんので –
私はデータベースから直接読む必要があります。 –