若需建立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()
原創文章,轉載請說明出處,謝謝!