ec2-authorize-P icmp -t -1:-1 -s 0.0.0.0/0
2010年3月29日月曜日
2010年3月23日火曜日
Djangoのパーミッションテーブルを更新するスクリプト
Djangoでproxy modelというものを使って、ひとつのモデルを複数にわけて、
管理するようにした際に、片方のモデルがadminのユーザーパーミッション一覧に
表示されなくて困っていた。
ユーザーパーミッションのテーブルを更新する方法がないかと
調べてみるとこんなページを発見
http://www.djangosnippets.org/snippets/698/
これを参考にパーミッションを更新するスクリプトを書いてみた。
これをインストール済みのアプリのmanagement/commands/syncpermissions.pyとして保存すれば、以下のコマンドで更新できる。
管理するようにした際に、片方のモデルがadminのユーザーパーミッション一覧に
表示されなくて困っていた。
ユーザーパーミッションのテーブルを更新する方法がないかと
調べてみるとこんなページを発見
http://www.djangosnippets.org/snippets/698/
これを参考にパーミッションを更新するスクリプトを書いてみた。
# -*- coding: utf-8 -*-
from django.core.management.base import BaseCommand
from django.contrib.contenttypes.management import update_all_contenttypes
from django.contrib.auth.management import create_permissions
from django.db.models import get_apps
"""
パーミッションを更新する
"""
class Command(BaseCommand):
def handle(self, *args, **options):
# Add any missing content types
update_all_contenttypes()
# Add any missing permissions
for app in get_apps():
create_permissions(app, None, 2)
これをインストール済みのアプリのmanagement/commands/syncpermissions.pyとして保存すれば、以下のコマンドで更新できる。
$ python manage.py syncpermissions
登録:
投稿 (Atom)