若需建立py文件进行测试,则在文件开始加入以下代码即可

#coding:utf-8 

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") 

'''
Django 版本大于等于1.7的时候,需要加上下面两句
import django
django.setup()
否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
'''
import django

from django.contrib.auth.models import Permission, User #用户 权限

if django.VERSION >= (1, 7):#自动判断版本
    django.setup()

查询一个用户所有权限,并使其结果转为list列表

User.objects.get(username='').user_permissions.values()
#方法一
list(User.objects.get(username='').get_all_permissions())
#方法二

查询所有权限,并循环输出

c = Permission.objects.values()
for i in c:
    print i

添加指定权限,此处注意content_type_id是int类型,对应于model的数字

Permission.objects.create(name='add_logentry',content_type_id=1,codename='Can add log entry')
#例:利用查询权限语句,查看到{u'content_type_id': 1L, 'codename': u'add_logentry', u'id': 1L, 'name': u'Can add log entry'}]类似这样的列表,

删除指定权限

Permission.objects.get(codename='Can add log entry').delete()

原创文章,转载请说明出处,谢谢!