在下面的代码中,如果字体中存在我要保存的变量,该怎么做。这就是我想在上一个问题中将str
转换为变量的原因。
所以这里的意图是如果模型中有n列,我将其作为列表,并在这种情况下将其与请求json di
进行比较。如果找到变量,那么我想将它分配给公司对象并保存它
models.py
class Company(models.Model):
version = models.IntegerField()
old_comp = models.CharField()
views.py
c= Company()
li = ['version']
di = {'a':1,'version':2}
for data in li:
if data in di:
c.data = di[data] //gives an error since data is unknown to c
c.save()
答案 0 :(得分:2)
请尝试以下代码,
免责声明:我还没有使用Django的经验。
c = Company()
param_list = ['version']
param_vals = {'a':1,'version':2}
for param in param_list:
if param in param_vals:
setattr(c, param, param_vals[i])
c.save()
答案 1 :(得分:0)
请参阅示例:
class Company:
def version():
print '1.1.1'
if __name__ == '__main__':
b='version'
a=Company()
a.b(AttributeError: Company instance has no attribute 'b')
你的代码也是同样的问题,因为attr不能使用变量,你可以直接使用c.version。