python-在Django中保存对象时使用变量

在Django中,是否有一种方法可以通过使用POST / GET变量而不是明确命名来标识我要编辑的对象的哪个属性?

例如,我要这样做:

def edit_user_profile(request):
    field_to_edit = request.POST.get('id')
    value = request.POST.get('value')
    user = User.objects.get(pk=request.user.id)
    user.field_to_edit = strip_tags(value);
    user.save()

代替这个:

def edit_user_profile(request):
    value = request.POST.get('value')
    user = User.objects.get(pk=request.user.id)
    user.first_name = strip_tags(value);
    user.save()

解决方法:

加比的答案正是您想要的.您可以改用setattr:

setattr(user, field_to_edit, strip_tags(value))

(非常非常轻微!)更直观.

上一篇:正则表达式中的PHP变量?


下一篇:Android性能的静态变量或属性