私は、デフォルトでオブジェクトの所有者だけが編集できるように、djangoモデルを使って単純な 'オブジェクト所有権'システムをどのように実現するのかと思います。Djangoのオブジェクト所有者
私は、オブジェクトの所有者に代わってすべてのオブジェクトを編集するための「管理」グループを許可しようとしていますが、この時点ではカスタム権限を追加しました:
class Meta:
permissions = (
("manage_object", "Can manage objects"),
)
「所有権」を確立するために私がしましたモデルにdefを追加するという考えに夢中になりました。
def owner(self):
return self.user
しかし、どうすればいいですか?私は、ビューの権限を実装し、テンプレートを使用して、関連するUIを表示する、すなわち:
if request.user is object.owner:
# ... do stuff
elseif request.user.has_perm.can_manage: # this line is probably not right
# ... do something else
...そしてテンプレートレベルで異なるUI要素を提示することができます。
ので、質問がされています。どのような障害/利点は、このアプローチである
- ?
- がありますか?
- 、またはこれまでに実装した方法は他にもありますか?
最高のおかげで!
yaしかし、ビューを更新/削除するアクセスをブロックするビューデコレータが必要な場合はどうすればよいですか? – CpILL