在 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()
最佳答案
Gabi 的答案正是您想要的。不过,您可以改用 setattr
:
setattr(user, field_to_edit, strip_tags(value))
哪个(非常非常轻微!)更直观。
关于python - 在 Django 中保存对象时使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216259/