【发布时间】:2020-12-14 11:20:54
【问题描述】:
我从一项服务(不使用 sqlalchemy)创建了一个表,现在我想使用 sqlalchemy 查询表
我使用了这样的语法
from app import db, engine, Base
from sqlalchemy import Table, Column, String, Integer, TIMESTAMP, Float
class Post(Base):
__table__ = Table('posts', Base.metadata,
autoload=True, autoload_with=engine)
这是有效的,我可以查询我的对象。
令人烦恼的是,我无法在运行前获取属性,因为(显然)在它编译之前什么都没有。有没有办法在使用这样的东西时添加类型,还是我必须假设它们在那里?
【问题讨论】:
-
好吧,您可以根据您对表结构的了解,在您的类中硬编码适当的
Column对象,但是只是以您现在的方式反映它们有什么问题,然后只是“假设[列]在那里”? -
顺便说一句,
autoload=True已过时;只需使用autoload_with=engine -
@GordThompson 感谢您的提示!我想这不是问题。但是关系呢?
标签: python flask sqlalchemy flask-sqlalchemy