私はモデルを持っています。のフィールドには、date_created、comment、description、amountの項目があります。各支払いはユーザーに属します。定期的に(彼の支払いをCRUDすることができます)、マネージャ(できるCRUDユーザー)、管理者(すべてをCRUDすることができます):Djangoで異なる権限を実装する方法は?
class Payment(models.Model):
author = models.ForeignKey('auth.User')
amount = models.FloatField(max_length=10)
description = models.CharField(max_length=128)
created_date = models.DateTimeField(
default=datetime.now())
comment = models.TextField(max_length=256)
def __str__(self):
return self.description
今私は、ユーザーごとに異なる役割を実装する必要があります。したがって、主な問題は、登録時にユーザーにこの役割を実装する方法です(さらに変更することはできません)。私はまた、登録時にapi(django rest framework)を介してこの役割を設定する必要があります。
そこに二つの質問を決めました。簡単に言えば、ユーザモデルに 'CharField'をロール選択肢を付けて追加し、DRFが –
に提供したパーミッションクラスで確認することができます。基本的に、あなたは既に質問に記載されています。1.あなたはパーミッションを作成する必要があります。2.このパーミッションをユーザーに割り当てます。3.ユーザーが異なるアクションを実行する権限を持っている場合はビューをチェックインします。 –