Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django request.POST字段名替换_Django - Fatal编程技术网

django request.POST字段名替换

django request.POST字段名替换,django,Django,我使用ajax将数据发送到django视图,数据通过request.POST传入。我正在发布需要更新的模型字段以及模型值。我只需要知道如何使用从request.POST['field_name']中提取的字段名变量,以便在模型中设置字段。这是我的密码 field_name = request.POST["field_name"] field_value = request.POST["field_value"] member_id = get_member_session(request).i

我使用ajax将数据发送到django视图,数据通过request.POST传入。我正在发布需要更新的模型字段以及模型值。我只需要知道如何使用从request.POST['field_name']中提取的字段名变量,以便在模型中设置字段。这是我的密码

field_name = request.POST["field_name"]
field_value = request.POST["field_value"]

member_id = get_member_session(request).id
try:
    member = Members.objects.get(id=member_id)
except:
    status="ERROR-USER-DOES-NOT-EXIST"
    return json_status(status)

try:
    member.field_name=field_value
    member.save()
    return json_status('OK')
except:
    status = "USER_SAVE_ERROR"
    return json_status(status)
member.field_名称显然不正确。我需要使用evalfield_名称或类似的名称吗?如果可能的话,我宁愿不去

非常感谢

Rich

使用,允许您在对象上设置变量属性:

try:
    member._meta.get_field(field_name)
except member.FieldDoesNotExist:
    # return something to indicate the field doesn't exist
    return json_status('USER_FIELD_ERROR')

setattr(member, field_name, field_value)
member.save()
return json_status('OK')
编辑:我更新了使用model.\u meta.get\u字段,因为这是一种更好的方法。在

使用中提到,它允许您在对象上设置变量属性:

try:
    member._meta.get_field(field_name)
except member.FieldDoesNotExist:
    # return something to indicate the field doesn't exist
    return json_status('USER_FIELD_ERROR')

setattr(member, field_name, field_value)
member.save()
return json_status('OK')

编辑:我更新了使用model.\u meta.get\u字段,因为这是一种更好的方法。在

中提到,很抱歉收回绿色勾号,但我将代码放入并得到以下错误:“成员中的if字段名称上的'Members'类型的参数不可编辑:”。我看不出是什么。我已经删除了“如果”语句,它非常有效,但最好在我知道答案之前不要说完全正确。再次感谢,抱歉收回绿色勾号,但我输入了代码,并得到以下错误:“成员中的if字段名称”上的“Members”类型的参数不可编辑”。我看不出是什么。我已经删除了“如果”语句,它非常有效,但最好在我知道答案之前不要说完全正确。再次感谢亚历克斯