我已经设置了rest flask应用程序,并且在youtube tut之后,我设置了一个管理页面,以使用SQLAlchemy ModelView查看数据库表,
db.init_app(app)
admin=Admin(app)
admin.add_view(ModelView(CBotResp, db.session))
该模型是在另一个文件dbmodels.py中设置的,因此在主文件中,我导入了db和我的模型CBotResp。很好,我可以查看和编辑表格。
当在另一个模块controller.py中我想从该表中读取数据时,就会出现问题。我导入数据库和模型,然后执行:
result=db.session.query(CBotResp).all()
我得到的不是数据,而是对象列表:
[<CBotResp 1>, <CBotResp 2>, <CBotResp 3>, <CBotResp 4>, <CBotResp 5>]
恰好是类型
<class 'inmyfiles.dbmodels.CBotResp'
所以这些对象恰好是5,与我数据库中的当前记录相同。所以我这样做:
s = db.session
res = s.execute('SELECT * FROM CBotResp').fetchall()
在这里,我终于看到一个包含我的数据的漂亮清单。这里会发生什么?是否可以以sqlalchemy标准方式重用模型? (请注意,我是Flask和SqA的新手,所以我迷失了有关在Flask和SqA中使用SqA的四种方式的文档章节