【发布时间】:2016-12-27 18:09:26
【问题描述】:
我已经在通用 ListView 中实现了排序:
class CarList(LoginRequiredMixin, ListView):
model = Car
paginate_by = 30
ordering = 'car_id_internal'
def get_ordering(self):
return self.request.GET.get('ordering', 'car_id_internal')
def get_context_data(self, *args, **kwargs):
context = super(CarList, self).get_context_data(*args, **kwargs)
context['current_order'] = self.get_ordering()
return context
在我的模板中:
<thead>
<tr>
<th><a href="{% url 'car_list' %}?ordering=car_id_internal">Internal car ID</a></th>
<th><a href="{% url 'car_list' %}?ordering=type">Type</a></th>
<th><a href="{% url 'car_list' %}?ordering=brand">Brand</a></th>
</tr>
</thead>
这很好用,但是我希望用户在再次单击列标题时能够将顺序从升序反转为降序。 Django有可能吗?我正在使用 Django 1.9。
希望有人能帮忙。
【问题讨论】:
标签: python django python-3.x listview django-views