2016-01-08 44 views
0

我不知道这个问题如何设置名称..对不起。Python,Django,编辑表与字符串

我有功能:

myFunction(request, {'Username': 'MyNewUsername', 'Sex': 'Woman', 'SexWant': 'Man'}) 

def myFunction(self, data): 
     dataquery = UserData.objects.get(Username = "Patrycja") 


     for name, key in data.items(): 
      dataquery.name = key 

     dataquery.save() 

一般说来,该行:dataquery.name

名是 '用户名',如果设置了dataquery.Username =好。但我必须这样做如上

+0

我不知道如何回答问题,毫无疑问:c –

+0

myFunction在某个函数的views.py中.. def myFunction在另一个文件中..但无所谓 –

+3

但是,严重的是,您的问题是什么?你面临什么问题? –

回答

0

据我所知,您的查询应该是

dataquery = UserData.objects.get(username="Patrycja") 

然后意识到该行

dataquery.name = key 

设置对象的属性name

为了设置的名称在data指定你需要使用setattr

for name, value in data.items(): 
    setattr(dataquery, name, value) 

,并因为你似乎要更新only such fields,调用保存specifing哪些字段应该更新

dataquery.save(update_fields=data.keys()) 
属性

注意:请参考@ Sayse的回答,以防您需要一次更新多个记录

+0

注意我已经删除了我的答案,因为它不清楚它想要什么,它没有完全测试。可以自由地将它包含在你自己的UserData.objects.filter(用户名=“Patrycja”)。update(** data )' – Sayse