首页 新闻 会员 周边 捐助

python 对象属性如何当作变量

0
[待解决问题]

def editpermission(request):
try:
if request.method == "GET":
usertype = request.GET["usertype"]
ishave = request.GET["ishave"]
keyname = request.GET["keyname"]

        obj = permission.objects.filter(usertype=usertype).first()
        
        obj.save()
        return JsonResponse({"res": "ok"})
except Exception as e:
    return JsonResponse({"res": "error"})

keyname 为 permission 表里面的一个字段名,接收到的keyname 是可变的(可能是ishave1,ishave2,ishave3....),如何将obj里的keyname 这个可变的字段名的值,更新为 ishave 。

因为keyname 可能有很多种,一个个去判断太麻烦了,有没有简单的办法?

ruanmou的主页 ruanmou | 初学一级 | 园豆:5
提问于:2022-10-15 13:21

setattr(obj,keyname,bool(ishave))

        obj.__dict__[keyname]=bool(ishave)

这两种写法都不行

ruanmou 2年前

obj.setattr(keyname, bool(ishave)) 也不行

ruanmou 2年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册