2017-10-18 1 views
1

저는 Python/Django 프로젝트에서 일하고 있습니다. 나는 YearArchiveView 기본 클래스를 사용하는, 그래서 난이 있습니다함수를 사용하여 'queryset'에 결과를 전달하는 방법?

class ArchiveView(YearArchiveView): 

    queryset = ArticlePage.objects.all() 
    make_object_list = True 
    date_field = 'date' 
    template_name='btcmag/pages/archives_list.html' 
    allow_future = False 
    context_object_name = 'articles' 

    def extract_month(self, article): 
     'extracts the starting date from an entity' 
     return article.date.month 

    def extract_year(self, article): 
     'extracts the starting date from an entity' 
     return article.date.year 

가 대신 queryset = ArticlePage.objects.all()을 가지고, 나는 올바른 검색어 세트를 반환하는 기능을 가지고 싶습니다. 같은 뭔가 :

queryset = getQuerySet()

나는 몇 가지 매개 변수를 전달해야하는 동시에.

self과 함께 호출하는 클래스 내에서 함수를 정의하려고했지만 function 또는 self이 정의되어 있지 않습니다.

어디에서 기능/방법을 정의해야합니까?

어떻게하면 queryset으로 전달할 수 있습니까? 대신 queryset 세트를 갖는

+0

당신이 * 행운 무엇을 의미합니까 *를? 우리는 당신이 당신의 방법을 어떻게 구현했는지를 알아야합니다. 당신은 여분의 방법으로 커스텀 매니저를 고려 했습니까? – styvane

+0

방금 ​​질문을 편집했습니다. 기본적으로 나는 그 기능이나 자기가 정의되지 않는다는 것을 알게된다. –

답변

3

, 장고 당신이 덮어 쓸 수 있습니다 전망에 /를 get_queryset 방법을 사용

class ArchiveView(YearArchiveView): 

    def get_queryset(self): 
     ...magic here... 

     return custom_queryset 
+0

이것은 작동하는 것 같습니다! –

+1

실제로 쉽습니다 :'get_queryset'에서'self' 내에 있어야합니다. 그래서 방법에서 당신은 그것을 발견합니다 :'self.request'. – White

관련 문제