模型管理器查询集未过滤

时间:2013-03-17 05:13:43

标签: django django-models django-views

我有一个代理模型,其查询集是其父项的子集。但是,当我调用它时,会返回父对象。

Model Manager

class NewRequestsManager(models.Manager):        
    def get_queryset(self):
        return super(NewRequestsManager, self).get_queryset().filter(is_scoped=0)

代理模型

class NewRequests(Engagement):
    objects = NewRequestsManager()

    class Meta:
        proxy = True
        app_label = 'myapp'
        verbose_name = 'New Request'

查看

def list(request):
    new_requests = NewRequests.objects.all()
    c = RequestContext(request, {
            'cl': new_requests,
    })
    t = loader.get_template('queue.html')
    return HttpResponse(t.render(c))

非常感谢任何帮助。我不确定我在这里缺少什么。

2 个答案:

答案 0 :(得分:14)

可能只是一个错字:get_queryset应该是get_query_set,所以你没有压倒任何东西。

class NewRequestsManager(models.Manager):        
    def get_query_set(self):
        return super(NewRequestsManager, self).get_query_set().filter(is_scoped=0)

答案 1 :(得分:6)

不是拼写错误:dev documentation使用get_queryset而1.5 documentation使用get_query_set我想最近dev版本已经发生了变化。