2014-01-14 1 views
0

내 Django ListViews에서 정렬 가능한 테이블을 갖기 위해 django-extra-views을 사용하고 있습니다.django-extra-views 및 SortableListMixin 구성 혼란

내가 왜 제대로 작동하지 않는지 확신 할 수는 없지만, 항상 tests.py 어려운 wrt 템플릿에서 작업하는 것으로 나타났습니다.

그래서 난 내 views.py

class PartTypePartList(SortableListMixin, generic.ListView): 
    model = PartNumber 
    template_name = 'inventory/newparttype_list.html' 
    sort_fields = ['name',] 
    paginate_by = 25 

    def get_queryset(self): 
    self.parttype = self.kwargs['parttype'] 
    return PartNumber.objects.filter(fds_part_type=self.parttype) 

    def get_context_data(self, **kwargs): 
    context = super(PartTypePartList, self).get_context_data(**kwargs) 
    context['parttype'] = self.parttype 
    return context 

에 그리고 urls.py

url(r'^newparttype/(?P<parttype>\d{2})/$', views.PartTypePartList.as_view(), name='new_part_type_view'), 

에서 예상대로이 두 가지가 우리가 목록을 받고 함께이 있습니다.

관련 템플릿에서

:

<a href="{{ request.path }}{{ sort_helper.get_sort_query_by_name }}">Name</a> 
    <a href="{{ request.path }}{{ sort_helper.get_sort_query_by_name_asc }}">asc name</a> 
    <a href="{{ request.path }}{{ sort_helper.get_sort_query_by_name_desc }}">desc name</a> 
    {% if sort_helper.is_sorted_by_name %} ordered by name {{ sort_helper.is_sorted_by_name }} {% endif %} 

문제는 일이 더 정렬이 없다는 것입니다. 특히

{{ sort_helper.get_sort_query_by_name }} and 
{{ sort_helper.get_sort_query_by_name_asc }} and 
{{ sort_helper.get_sort_query_by_name_desc }} 

각각은 빈 문자열을 반환합니다.

내가 뭘 잘못하고 있니?

나는 django-tables2을 사용하고 있었지만 소유자는 그 사람이 계속 개발자가 아니며 충분히 숙련되지 않았거나 시간이 충분하지 않아 자신을 맡을 수 없다고 인정했습니다.

[EDIT]

나는이 여전히 해결책을받을 권리가 생각하지만, 나는 당신이 get_queryset 부모의 메소드를 호출 할 필요가 FBV보다는 CBV로보기를 다시 작성했습니다 따라 [/EDIT]

답변

1

의 데이터를 조작하고 :

def get_queryset(self): 
    self.parttype = self.kwargs['parttype'] 

    qs = super(PartTypePartList, self).get_queryset() 
    qs = qs.filter(fds_part_type=self.parttype) 

    return qs