0

投稿を含むブログというアプリがあるとします。ユーザーが投稿を追加および変更できるようにしたいが、削除はできないようにしたい.

Django ドキュメントにはこの例があります

from myapp.models import BlogPost
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType

content_type = ContentType.objects.get_for_model(BlogPost)
permission = Permission.objects.create(codename='can_publish',
                                       name='Can Publish Posts',
                                       content_type=content_type)

ここで実際に何かを定義する方法はわかりません。名前とコンテンツ タイプを指定するだけです。

Django には基本的な権限チェックもあります

app_label foo と Bar という名前のモデルを持つアプリケーションがあると仮定して、使用する必要がある基本的なアクセス許可をテストします。

add: user.has_perm('foo.add_bar')
change: user.has_perm('foo.change_bar')
delete: user.has_perm('foo.delete_bar')

私のアプリでは、次のようになります。

add: user.has_perm('blog.add_post')
change: user.has_perm('blog.change_post')
delete: user.has_perm('blog.delete_post')

このような権限を作成してユーザーに追加するにはどうすればよいですか (管理者ではなくコードで)。

4

1 に答える 1