2013-03-17 17 views
7

Sorgusu ebeveyni alt kümesi olan bir proxy modelim var. Ancak, onu aradığımda, ebeveynin nesneleri yerine döndürülür.Model Manager queryset filtrelenmiyor

Model Manager:

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

Vekil Modeli:

class NewRequests(Engagement): 
    objects = NewRequestsManager() 

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

Görünüm:

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

Herhangi bir yardım çok takdir edilmektedir. Tam olarak ne eksik olduğumdan emin değilim.

cevap

14

Muhtemelen bir yazım hatası: get_queryset, get_query_set olmalıdır, bu nedenle hiçbir şeyi geçersiz kılmıyorsunuz.

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

Teşekkürler Ric. Bir yazım hatası LOL için kafanı vurmak gibi bir şey yok. – chirinosky

6

değil bir yazım hatası: 1.5 documentation ben dev sürümünde yapılan bir değişikliği olmamıştır herhalde get_query_set kullanır oysa dev documentation get_queryset kullanır.

+0

Wow, django'yu diğer şeyleri çalışmak için düşürdü ve kafamı bu konuya çarptırdı><. –