Django 1.4 のパーミッション/認証に関するドキュメントには、プログラムでカスタム パーミッションを作成するための次のスニペットが用意されています。
編集:(特定のモデルクラスに必ずしもリンクされているわけではなく、複数のタイプにまたがるより一般的な権限にこれを採用したいと思います。)
from django.contrib.auth.models import 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)
私の質問は、このコードをどこに配置する必要があるかです。明らかに、これらは一度だけ作成する必要がありますが、シェルで作成する必要はありません。これはどこかのファイルに保存する必要があるようです。(ドキュメンテーションのため。)