若需建立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()
原创文章,转载请说明出处,谢谢!