我正在寻找一种以编程方式更新属性的方法(特别是在SQLAlchemy类的update()
函数内部时)
def update(self, **kwargs):
for kwarg in kwargs:
setattribute(self, kwarg, kwargs[kwarg])
这似乎不起作用,也不是这样:
def update(self, **kwargs):
for kwarg in kwargs:
self[kwarg] = kwargs[kwarg]
答案 0 :(得分:3)
使用setattr()
:
def update(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)
答案 1 :(得分:1)
list
是kwargs
,您可以使用dict
迭代其键和值:
items()