美文网首页
Django xadmin save_models 坑大家请注意

Django xadmin save_models 坑大家请注意

作者: iCloudEnd | 来源:发表于2019-03-04 22:46 被阅读97次

在做体能测试项目时,遇到了保存用户权限的需求,然而在save_models 上耽误了几个小时

场景如下

我打算创建用户时,自动赋予用户响应的组group
然而第一次总是无法获得用户的组信息
后来才知道,还有 save_relate(self) 函数,负责存在m2m类型数据

具体代码如下

   def save_related(self):
        obj = self.new_obj
        super(UsersAdmin, self).save_related()  
        obj.user.groups.clear()
        logger.info(obj.user_type.all())
        for item in obj.user_type.all():
            obj.user.groups.add(item.group)

        obj.user.save()
        obj.save()

    def save_models(self):
        obj = self.new_obj
        if obj.id  is None:
            #第一次时
            obj.user.is_active=True
            obj.user.is_staff=True
            obj.user.save()
            obj.save()
        else:
            super(UsersAdmin, self).save_models() 
    

相关文章

相关文章

网友评论

      本文标题:Django xadmin save_models 坑大家请注意

      本文链接:https://www.haomeiwen.com/subject/retguqtx.html