7

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

模型经理

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))

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

4

2 回答 2

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)
于 2013-03-17T05:46:57.483 回答
6

不是错字:开发文档使用 get_queryset 而1.5 文档使用 get_query_set 我想开发版本最近发生了变化。

于 2013-04-07T01:51:59.860 回答