这是我打开的关于使用SQLALCHEMY创建动态表和列的帖子的后续内容。 SQLAlchemy create dynamic tables and columns
大多数教程展示如何在Python和SQLAlchemy中创建动态表和列,重点是创建一个类对象 - 使用Declarative
,这样每个类的使用都会创建一个带有预定义列的表和该类中定义的列元数据(见下文)。这种创建表的方式的问题是,至少据我所知,它不允许我动态创建列。我正在阅读API并获取可以每天更改的表的元数据,因此我需要一种动态创建这些表的方法 - 请参阅我的orignal帖子:SQLAlchemy create dynamic tables and columns
例如,以下构造不允许为表创建动态列,据我所知,就像我的原始帖子一样:
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
我在这方面询问类对象的原因是因为显示如何查询数据库的教程需要在查询中使用类对象。
因此,例如,我研究过查询数据库以查找每个表中最新值的每个方法(假设它是主键或最大id
,最大timestamp
)似乎需要使用目前我没有做的类对象。
Session = sessionmaker(bind=engine)
session = Session()
User.query.order_by('timestamp desc').limit(1)
是否有可能构建一个将创建动态列的类对象?使用类对象?
如果没有,是否有另一种使用SQLAlchemy查询数据库的最佳做法,以便在表格中查找最新记录?
请参阅SQLAlchemy上的这篇博客文章 - Great tutorial, i've read。