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
我没有定义表格,所以我不能 –
我需要直接从数据库中读取数据。 –