0
我正在使用Sqlalchemy的核心,因此我不像其他類似問題那樣使用聲明性基類。 如何使用引擎獲取表的主鍵?從sqlalchemy(Core)中的表中獲取主鍵列名稱
我正在使用Sqlalchemy的核心,因此我不像其他類似問題那樣使用聲明性基類。 如何使用引擎獲取表的主鍵?從sqlalchemy(Core)中的表中獲取主鍵列名稱
所以,我剛碰到同樣的問題。您需要創建一個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
我沒有定義表格,所以我不能 –
我需要直接從數據庫中讀取數據。 –