Python 在django中为员工创建自定义角色
我已经为员工创建了一个角色模型,以便将员工分配到控制 基于其角色的整个应用程序。我的意思是,如果给予员工角色只能创建,那么员工应该能够创建库存、订单、项目等,如果给予员工角色可以创建、编辑和删除,然后,该员工将像一个管理员等。为此,我设计了如下模型,但我想知道什么是最好的方式来处理这样的问题,为什么 我应该选择中间件还是装饰方式?谁能给我举个例子吗Python 在django中为员工创建自定义角色,python,django,python-3.x,django-models,django-middleware,Python,Django,Python 3.x,Django Models,Django Middleware,我已经为员工创建了一个角色模型,以便将员工分配到控制 基于其角色的整个应用程序。我的意思是,如果给予员工角色只能创建,那么员工应该能够创建库存、订单、项目等,如果给予员工角色可以创建、编辑和删除,然后,该员工将像一个管理员等。为此,我设计了如下模型,但我想知道什么是最好的方式来处理这样的问题,为什么 我应该选择中间件还是装饰方式?谁能给我举个例子吗 class Role(models.Model): name = models.CharField(max_length=100, blan
class Role(models.Model):
name = models.CharField(max_length=100, blank=False, null=False)
class Meta:
verbose_name = 'Role'
verbose_name_plural = 'Roles'
class Employee(models.Model):
office = models.ForeignKey(
OfficeSetup, blank=False, null=False, on_delete=models.CASCADE)
name = models.CharField(max_length=150, blank=False, null=False)
designation = models.ForeignKey(Designation, blank=False, null=False)
section = models.ForeignKey(DepartmentSetup, blank=True, null=True)
phone_number = models.CharField(max_length=150, blank=True, null=True)
mobile_number = models.CharField(max_length=150, blank=True, null=True)
email = models.EmailField(max_length=150, blank=False, null=False)
gender = models.CharField(
max_length=4, choices=GENDER, blank=True, null=True)
role = models.ForeignKey(Role, blank=True, null=True)
username = models.CharField(max_length=100, blank=False, null=False)
password = models.CharField(max_length=100, blank=False, null=False)
avatar = models.ImageField(
null=True, blank=True, upload_to=upload_employee_image_path)
class Meta:
verbose_name = 'Employee'
verbose_name_plural = 'Employees'
def __str__(self):
return self.name
通过管理员创建员工时,管理员提供的用户名、密码和电子邮件将与员工一起创建一个新的用户实例。Django提供了组和权限,可提供您所需的所有信息。 这可能有助于您-
Django文档-你能给我举个例子吗?文档我觉得很难理解如果我没有错,文档只显示了对特定模型的设置权限,但我的用例是一次对所有模型设置权限