使用我通过pandas.to_sql创建的Flask Sqlalchemy访问类/模型

2024-10-08 19:19:10 发布

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

我正在尝试用Flask开发一个web应用程序。我想做的是:

  1. 以表的形式从客户端获取数据
  2. 使用pandas对表的每一行执行计算,创建多个df,然后将它们附加到单个df
  3. 然后使用to_sql使用Flask SQLalchemy将合并的df上载到postgres数据库中的表中 (我在这里一切正常)
  4. 然后我想使用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:映射器映射的类LeaseInfo->;lease\u info无法为映射表'lease\u info'组合任何主键列。

当我使用以下代码访问这些类时:

Base = automap_base()
Base.prepare(db.engine, reflect = True)
LeaseInfo = Base.classes.lease_info

我得到以下错误:第212行,在uu getattr中__ 提升属性错误(键) 属性错误:租赁信息

我看到过一些建议,建议我首先用所有列定义类,然后用to_sql追加,但我希望能够更动态地这样做


Tags: to代码info数据库flaskdfdbsql
1条回答
网友
1楼 · 发布于 2024-10-08 19:19:10

最终在应用程序中定义了类(db.Model),然后使用pd.to_sql将数据附加到模型中,但是如果可能的话,仍然希望知道一种更短的方法

相关问题 更多 >

    热门问题