python / django模型保存参数误差

时间:2015-09-22 11:25:36

标签: python django django-models django-views

在下面的代码中,如果字体中存在我要保存的变量,该怎么做。这就是我想在上一个问题中将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()

2 个答案:

答案 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。