gpt4 book ai didi

flask - 使用 kwargs Flask-SQLAlchemy 更新表属性

转载 作者:行者123 更新时间:2023-12-03 16:05:21 25 4
gpt4 key购买 nike

我正在使用 Flask-SQLAlchemy。我有一个有几个属性的表。我有一本字典,其中 key='attribute-name'value=the_new_value .

我想使用字典更新现有的行/条目。有没有办法使用 **kwargs 更新条目而不是手动一次更新它们?

我发现了两个对 set_attribute 的引用SQLAlchemy 中的方法:herehere ,但是两者都解决了比我要问的问题更具体的问题。

我试过 set_attribute它对我不起作用。我没有收到任何错误消息,但数据库属性没有改变。我想知道:

1) 访问/导入的正确方法是什么 set_attribute在 Flask-SQLAlchemy 中?

2) 可以将 key 存储为 set_attribute 中 **kwargs 的字符串?

3) 如果 1) 或 2) 都不是我的问题,那是什么?

至于代码,这就是它的样子,首先是模型:

class Files(UserMixin, db.Model):
id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
filename_main = db.Column(db.String(264))
filename_side1 = db.Column(db.String(264))
filename_side2 = db.Column(db.String(264))

def update(self, **kwargs):
for key, value in kwargs.items():
set_attribute(self, key, value)

在 View 中,我想做这样的事情:
files = Files.query.filter_by(id=id).first()
filenames = {'filename_main': 'main.ext',
'filename_side1': 'side1.ext',
'filename_side2': 'side2.ext'}
files.update(**filenames)

最佳答案

尝试这个

def update(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)

关于flask - 使用 kwargs Flask-SQLAlchemy 更新表属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47961725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com