35

ユーザー グループにユーザー権限を実装する必要があります (Facebook グループとよく似ています)。たとえば、各グループには、can_post、can_delete、can_ban などの権限を持つメンバーを含めることができます。もちろん、1 人のユーザーを多数のグループのメンバーにすることができ、グループにはさまざまな権限を持つ多くの異なるユーザーを含めることができます。

この機能にはどのモデルが必要ですか?

4

1 に答える 1

65

Djangoにはグループシステムが組み込まれています。このような質問があるときはいつでも、Djangoのドキュメントを検索することをお勧めします。このドキュメントは、広範で、役立つ、よく書かれています。

アプリを使用している限り、django.contrib.authグループにアクセスできます。次に、それらのグループに権限を割り当てることができます。

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

content_type = ContentType.objects.get(app_label='myapp', model='BlogPost')
permission = Permission.objects.create(codename='can_publish',
                                       name='Can Publish Posts',
                                       content_type=content_type)
user = User.objects.get(username='duke_nukem')
group = Group.objects.get(name='wizard')
group.permissions.add(permission)
user.groups.add(group)
于 2012-09-12T17:59:49.617 に答える