我是Django管理人员的新手。我正在使用python 2.7.15rc和Django 1.8。
通常,当我使用Group.objects.all()
时,Django会返回所有组。我希望对这些组进行过滤...所以我刚刚为auth.models
组创建了一个经理:
class DefaultGroupManager(models.Manager):
test_ids = [1,2,3,4,5,6,7]
def get_queryset(self):
return super(DefaultGroupManager, self).get_queryset().exclude(pk__in=test_id)
我希望此管理器为默认管理器,所以当我使用Group.objects.all()
时,它将被过滤,但是我不知道如何在不接触Django内部代码的情况下覆盖默认管理器。
我有一个大项目,所以我只想更改:
Group.objects.all()
->未过滤
到
Group.objects.all()
->与我的经理一起过滤
不更改单词“对象” Group.new_nanager.all()
或类名NewGroupClass.objects.all()
。
这甚至可能吗? 我将不胜感激。 (我是编码新手)