我想在身份验证user
模型,active
和inactive
上添加两个额外的管理员,以便为我提供活跃或非活跃用户。这就是模型的外观(即使它无效):
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 :(得分:0)
您需要在Manager上使用contribute_to_class
方法。而不是你在那里的User
课程,你需要这样的东西:
InactiveManager.contribute_to_class(User, 'inactive')
我怀疑你做到这一点并不重要,只要它发生得很好而且很早(在你使用它之前!) - 某个地方的models.py会觉得模糊不清。