読者です 読者をやめる 読者になる 読者になる

Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

djangoのgroup permissionをプログラム内で付ける

f:id:naohide_a:20151202202517j:plain テストケースを生成する上で、プログラム内でユーザーに group permission を付加する必要があり、少し調べる必要が出たので、メモっておきます。

group permission 自体は auth modelGroup に紐付いており、 ManyToMany で定義されているテーブルです。 なので、以下の通り、 Group を呼び出した後で、permissionsadd することで追加することが出来るようになりました。

from django.contrib.auth.models import Group, Permission

perm = Permission.objects.get(codename='change_something')
group = Group.objects.get(pk=1)
group.permissions.add(perm)