ユーザ名から、許可されているパーミッションのモデルを取得する

勉強しながらなので、紆余曲折しながらのエントリにです。
前提として、ユーザに'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過去エントリとソースを見て思い出す。


今はこんだけ。
もう少し調べる。