千家信息网

myblog-django中如何创建RBAC权限管理模型

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,myblog-django中如何创建RBAC权限管理模型,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在user/model.py
千家信息网最后更新 2025年02月06日myblog-django中如何创建RBAC权限管理模型

myblog-django中如何创建RBAC权限管理模型,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

在user/model.py 下写入以下模型

from django.dbimport modelsfrom django.contrib.auth.modelsimport AbstractUser# Create your models here.class Menu(models.Model):name = models.CharField(max_length=25,unique=True,verbose_name='菜单名')url = models.CharField(max_length=125,unique=True,null=True,blank=True,verbose_name='URL')parent = models.ForeignKey("self",null=True,blank=True,on_delete=models.SET_NULL,verbose_name='父菜单')code = models.CharField(max_length=50,null=True,blank=True,verbose_name='编码')icon = models.CharField(max_length=50,null=True,blank=True,verbose_name='图标')def __str__(self):return self.nameclass Meta:verbose_name='菜单'        verbose_name_plural=verbose_namedb_table='tb_menu'class Role(models.Model):"""角色绑定"""    name = models.CharField(max_length=35,unique=True,verbose_name='角色名')permissions = models.ManyToManyField(Menu,blank=True,verbose_name='URL授权')desc = models.CharField(max_length=50,blank=True,null=True,verbose_name="描述")def __str__(self):return self.nameclass Meta:verbose_name='角色'        verbose_name_plural=verbose_namedb_table='tb_role'class UserProfile(AbstractUser):name = models.CharField(max_length=20,default="",verbose_name="姓名")birthday = models.DateField(null=True,blank=True,verbose_name="出生日期")gender = models.CharField(max_length=10,choices=(("male","男"),("female","女")),default="nale",verbose_name="性别")image = models.ImageField(upload_to="image/avatar/%Y/%m",default="iamge/avatar/default.jpg",max_length=100,null=True,blank=True)roles = models.ManyToManyField(Role,verbose_name="角色",blank=True)def __str__(self):return self.nameclass Meta:verbose_name="用户信息"        verbose_name_plural=verbose_namedb_table="tb_userprofile"        ordering=['id']

然后制作迁移脚本

python manage.py makemigrations

执行迁移脚本

python manage.py migrate

此时数据库的数据表也创建成功

关于myblog-django中如何创建RBAC权限管理模型问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0