因此,我试图建立一个数据库,其中的行将被频繁修改。例如,每小时我都想在数据库的特定部分添加一个数字。因此,如果self.checkmarks
被输入到等于3
的数据库中,那么用一个加上的数字来更新数据库的这一部分,使self.checkmarks
现在等于3, 2
的最佳方法是什么?我尝试将列建立为db.Array
,但得到一个属性错误:
AttributeError: 'SQLAlchemy' object has no attribute 'Array'
我已经找到了如何更新数据库,但我不知道最好的更新方式是添加到列表而不是替换。我的方法如下,但我认为append
不起作用,因为列不能是数组:
ven = data.query.filter_by(venid=ven['id']).first()
ven.totalcheckins = ven.totalcheckins.append(ven['stats']['checkinsCount'])
db.session.commit()
非常感谢
如果您真的想在SQLAlchemy中将python列表作为一列,那么您需要查看一下PickleType:
请注意,您必须使用
mutable=True
参数才能编辑列。SQLAlchemy将自动检测更改,并且在您提交更改后将立即保存这些更改。在如果您希望pickle具有可读性,可以将其与json或其他满足您的目的的转换器结合使用。在
相关问题 更多 >
编程相关推荐