2011-09-07 95 views
1

我想在驗證碼user模型中包含兩個額外的管理器,activeinactive,以使我處於活動狀態,或者只是處於非活動狀態的用戶。這是該模型是什麼樣子(即使它是無效的):auth_user的自定義模型管理器

from django.contrib.auth.models import User 

class ActiveManager(models.Manager): 
    def get_query_set(self): 
     return super(ActiveManager, self).get_query_set().filter(active=True) 

class InactiveManager(models.Manager): 
    def get_query_set(self): 
     return super(InactiveManager, self).get_query_set().filter(active=False) 

class User(models.Model): 
    # user model... 

    all_users = models.Manager() 
    objects = ActiveManager() 
    inactive = InactiveManager() 

凡/究竟如何將我把這個,所以我可以做一個查詢,如User.inactive.all()?謝謝。

回答

0

您將需要在Manager上使用contribute_to_class方法。相反,你必須在那裏User類的,你需要這樣的事情:

InactiveManager.contribute_to_class(User, 'inactive') 

我懷疑你做這個地方,只要它發生沒關係正好好和早(!之前您使用它) - 某個models.py會覺得很模糊。