在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))
(非常非常轻微!)更直观.