私はいくつかの質問があります。プロジェクトで、3つのタイプ(複数の場合もある)のユーザーが異なる役割を持つユーザーとの作業が必要です。医師の患者管理者
Django Model Usersの使用を考え、それを拡張してuserprofileモデルを作成しています...しかし、userprofileモデルにはユーザーモデルのフィールドがあるため、さまざまな役割を管理する方法は無視します。 、しかし、私は役割のトピックに対処する方法がわかりません。
1ユーザーは多くのユーザープロファイルを持っている可能性がありますか?知りません
または、ロールタイプを指定してロールモデル/テーブルを作成し、ユーザーモデルとの関係を作成する必要があるかもしれません。これは良い可能性です。
別の可能性(以下のコメントとして)は、Django権限システムを確認して、ユーザーグループを作成し、これらのグループに権限を割り当てることができますが、ここでは編集、作成、および削除のみが可能です本当にモデル?
この問題の対処方法についていくつか混乱しています
このアプリを見つけました。 https://github.com/dabapps/Django-user-roles
誰かがそれについて私を方向付けることができれば、私は非常に感謝します
おそらく、これをDjangoの組み込み permissions で動作させることができます。
それはあなたが必要とする以上のものかもしれません。簡単な解決策は、ユーザーにOneToOneFieldを持つロールフィールドを持つUserProfileモデルです。
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name="profile")
role = models.CharField()
ロールを設定し、ビュー内のロールでチェックを行います。
user.profile.role = "physician"
user.profile.save()
if user.profile.role == "physician":
#do physician case here