ユーザ名から、許可されているパーミッションのモデルを取得する
勉強しながらなので、紆余曲折しながらのエントリにです。
前提として、ユーザに'test'を追加してあり、適当にパーミッションを割り当ててあります。
manage.pyを実行してから、
>>>from django.contrib.auth.models import User >>>a = User.objects.get(username = 'test') >>>b = a.user_permissions.values()
で、変数'b'の中身を覗いてみると
{'content_type_id': 16, 'codename': u'add_cat', 'id': 46, 'name': u'Can add cat' } {'content_type_id': 16, 'codename': u'change_cat', 'id': 47, 'name': u'Can chang e cat'} {'content_type_id': 16, 'codename': u'delete_cat', 'id': 48, 'name': u'Can delet e cat'}
となる。
ちなみに、
>>>a.user_permissions.count()
とやると、'3'が返ってきます。
前述のリストの中にある辞書の中で必要なのはおそらく'content_type_id'
これはflatpageでcomment, freecommentを使っているときに少し調べたので感として。
でも、忘れちゃっているのでorz過去エントリとソースを見て思い出す。
今はこんだけ。
もう少し調べる。