私は従業員が自分の役割に基づいて全体のアプリケーションを制御するように割り当てられるように、従業員のロールモデルを作成しました。私は、従業員の役割がcan_create_onlyであれば、従業員は在庫、注文、品目などを作成できなければならず、従業員にcan_create_edit_and_deleteが与えられれば、その従業員は管理者などのようになります。以下のようなモデルですが、私はそのようなことを処理する最良の方法は何か、そしてなぜそれを知りたいのですか?djangoで従業員のカスタムロールを作成する
私はミドルウェアまたはデコレータの方法で行ってください。誰も私に例を挙げてくれますか?
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
管理者、ユーザ名、パスワード、および電子メールで従業員を作成し、管理者は
私に例を教えてもらえますか?ドキュメント私は理解しづらいと感じました – Serenity
私が間違っていないと、ドキュメンテーションは特定のモデルの設定権限のみを示していますが、私のユースケースはすべてのモデルの権限を一度に設定しています – Serenity