2013-03-17 9 views
7

फ़िल्टर नहीं कर रहा है मेरे पास प्रॉक्सी मॉडल है जिसका क्वेरीसेट अपने माता-पिता का सबसेट है। हालांकि, जब मैं इसे कॉल करता हूं, तो माता-पिता की वस्तुओं को बदले में वापस कर दिया जाता है।मॉडल प्रबंधक क्वेरीसेट

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

किसी भी मदद की बहुत सराहना की है। मुझे बिल्कुल यकीन नहीं है कि मैं यहां क्या खो रहा हूं।

उत्तर

14

शायद केवल एक टाइपो: get_querysetget_query_set होना चाहिए, इसलिए आप कुछ भी ओवरराइड नहीं कर रहे हैं।

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

धन्यवाद रिक। एक टाइपो एलओएल के लिए अपने सिर को टक्कर देने जैसी कुछ भी नहीं है। – chirinosky

6

नहीं लिखने में कोई त्रुटि: dev documentation get_queryset का उपयोग करता 1.5 documentation का उपयोग करता है, जबकि get_query_set मुझे लगता है देव संस्करण में हाल ही में एक बदलाव हुआ है।

+0

वाह ने मेरे काम को अन्य चीजों को काम करने के लिए डाउनग्रेड किया और इस पर मेरे सिर को टक्कर लगी है। <। –

संबंधित मुद्दे