在db数据中没有从django插入

时间:2013-08-28 17:15:35

标签: python django

在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迭代并保存它无法正常工作

1 个答案:

答案 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()