在django应用程序中,我收到用户提交的表单数据,我试图插入到mysql数据库中,但即使request.keys匹配db列名称值也没有插入db
if request:
user=User()
for k,v in request.POST.items():
if str(k)!="csrfmiddlewaretoken":
if(k=='name'):
user.name=v #like this data will be saved
user.save()
if request:
user=User()
for k,v in request.POST.items():
if str(k)!="csrfmiddlewaretoken":
user.k=v #like this data will not be saved
user.save()
实际上我使用了相同的db列名和html表单标记名,因此request.POST.keys()与db列名匹配,但是如果我硬编码列它正在工作但直接如果我从request.post.keys迭代并保存它无法正常工作
答案 0 :(得分:0)
这不起作用,因为user.k
暗示您正在尝试将值v
分配给k
实例的属性User
,该属性不存在。
如果您愿意这样做,可以使用setattr()
来实现此目的。
for k,v in request.POST.items():
if str(k)!="csrfmiddlewaretoken":
setattr(user, k, v)
user.save()