美文网首页
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