【发布时间】:2020-05-09 01:53:49
【问题描述】:
我正在尝试使用 Flask 开发一个网络应用程序。我想做的是:
- 以表格形式从客户端获取数据
- 使用 pandas 对表的每一行进行计算并创建多个 df,然后将它们附加到单个 df
- 然后使用 to_sql 将统一的 df 上传到使用 Flask SQLalchemy 的 postgres 数据库中的表 (我在这里还好)
- 那我想用Flask sqlalchemy来查询和编辑数据库中的表。
问题是第4步。由于我是使用to_sql函数在数据库中创建表,所以该表没有任何主键。
当我使用以下代码来反映类时:
db.Model.metadata.reflect(db.engine)
class LeaseInfo(db.Model):
__table__ = db.Model.metadata.tables['lease_info']
def __repr__(self):
return self.DISTRICT
我收到以下错误: sqlalchemy.exc.ArgumentError: Mapper 映射类 LeaseInfo->lease_info 无法为映射表 'lease_info' 组装任何主键列
当我使用以下代码访问类时:
Base = automap_base()
Base.prepare(db.engine, reflect = True)
LeaseInfo = Base.classes.lease_info
我收到以下错误:第 212 行,在 __getattr__ 提高属性错误(键) 属性错误:lease_info
我看到一些建议说我首先用所有列定义类,然后附加 to_sql,但我希望能够更动态地完成它。
【问题讨论】:
标签: python pandas flask-sqlalchemy