が任意の数の を持つUser
ことができるDjango モデルが必要です。組織に対する彼の権限 (変更、表示、削除) は、彼の によって決定されます。「管理者」と「メンバー」の役割だけが必要だと確信しています。Function
Organisations
Role
これには行レベルのアクセス許可が必要になるため、django-guardian を使用することにしました。適切なモデル デザインの選択に問題があります。これらは代替手段です
最初のものには、新しいロールを作成するという利点がありますが、それは必要ないと思います。またunique_together
、ユーザーがすべての会社で 1 つの機能しか持てないようにすることもできます。can_change
で権限を設定し、Role
と の関係に基づいて行レベルの権限を推測しUser
ますOrganization
か? つまり、django-guardianさえ必要ないということですか?
2 番目の方がはるかに単純に見えますが、これは誤解を招く可能性があります。パーミッションは、User
が に追加されるとすぐに設定する必要がOrganization
あり、間違いなく行レベルです。
ここで正しい戦略は何ですか?
明確にするために: どちらの場合も、ユーザーはある組織の管理者になることも、別の組織のメンバーになることもできます。