如何在python中使用sqlalchemy从数据库中获取现有表?

2024-10-02 10:20:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据库中有“设备”表,我正在尝试获取该设备对象,以便更新该表中的一些记录。我已经尝试了meta = MetaData(bind=engine, reflect=True)它工作正常,但显示了一些警告:“SADEPRECTIONWARNING:MetaData.REFERST标志已被弃用,将在将来的版本中删除。请使用MetaData.REFERST()方法。”当我尝试使用MetaData.reflect()时,没有获得预期的输出

from sqlalchemy import create_engine, inspect
from sqlalchemy.orm import sessionmaker
from sqlalchemy.engine.url import URL
from sqlalchemy import MetaData

db_url = {
         'drivername': 'postgres',
          'username': 'postgres',
          'password': '***',
          'host': 'localhost',
        'database': "test_db",
          'port': 5432}
engine = create_engine(URL(**db_url))
session_obj = sessionmaker(bind=engine)
meta = MetaData().reflect(bind=engine)
print(meta)
user_t = meta.tables['device']
sel_st = user_t.select()
conn = engine.connect()
res = conn.execute(sel_st)
for _row in res:
    print(_row)

让我知道我错过了什么


Tags: fromimporturldbsqlalchemybindcreatepostgres

热门问题