背景
在flask项目中,引入sqlalchemy进行数据库交互。
数据库模型定义如下:
1 | class QARecords(db.Model): |
这里的id是自增的,无需自己定义。
创建对象:
1 | qa = QARecords(question=question) |
那么怎么获取这个对象的ID呢?
解决办法
在模型数据库这种方式中,直接定义数据库模型对象后,并不会生成具体id的
1 | >> qa = QARecords(question='something') |
由上可见,此时的对象的id为空。
id是由数据库自增生成的,所以需要在数据库中提交变更之后,才会生成具体的对象。
代码修改如下:
1 | >> qa = QARecords(question='something') |
通过提交一次数据库,通过sqlalchemy与数据库进行了一次交互,此时该对象才完整了。