2012-04-25 71 views
4

我只想列表中的用戶是許可範圍內,所以我只是做了一個自定義模型像下面擴展Django的使用者授權

from django.db import models 
from django.contrib.auth.models import Permission,User 

class Mycustomuser(User): 
    class Meta: 
     permissions = (
      ('users','users'), 
      ('view_user', 'View user'), 
     ) 

在意見我簡單地稱爲

items=Mycustomuser.objects.all() 

它返回用戶id僅限4。

我這樣做是因爲我使用Django監護人

task = MyCustomuser.objects.create() 
joe = User.objects.get(username__exact='admin') 
assign('view_category', joe, task) 

現在我要檢查每當MyCustomuser被稱爲該權限由以下權限。

回答

3

這是沒有必要的,也不建議延長User模型。見Storing additional information about users

也就是說,您可以創建權限而不設置permissions模型元屬性,請參閱Programmatically creating permissions

+0

我不想存儲額外的信息,我只是想在用戶的權限CRUD,像約翰可以查看用戶,湯姆可以創建+查看用戶。我已經使用django監護人權限的東西,它的工作相當不錯的自定義模型,所以我只是想讓自定義模型擴展用戶,但它並沒有返回所有數據! – sumit 2012-04-25 11:26:22