情况如下:
我有一个像这样的Django模型save()函数:
obj = Model1(attr1=params['attr1'], attr2=params['attr2'], attr3=params['attr3'], …)
或者这个:
class MyClass():
pass
my = MyClass()
…...
obj = Model2(attr1=my.attr1, attr2=my.attr2, attr3=my.attr3...)
超过二十个属性。
这是一个非常漫长且不友好的表达。更好的方法吗?谢谢!
答案 0 :(得分:1)
您可以使用setattr():
obj = Model1()
for key, value in params.iteritems()
setattr(obj, key, value)
或:
obj = Model1(**params)
另见:
希望有所帮助。
答案 1 :(得分:0)
我更喜欢这样的东西
params = {
'param1': param1,
'param2': param2,
....
}
obj = Model1(**params)