Потеря порядка отсортированного набора запросов с Django-Endless-Pagination
У меня есть несколько отсортированных наборов запросов, которые я передаю шаблону. Несколько страниц разбиты на страницы. Проблема в том, что после первой серии постраничных элементов последующие теряют свой вид. Вот мой код:
views.py
def entry_index(request, parent_cat, child_cat, template='entry_index.html',
page_template='entry_index_page.html'):
context = { 'items_by_percentage_saved':
Item.objects.filter(category=category).order_by('-percentage_saved'), }
if request.is_ajax():
template = page_template
return render_to_response(template, context,
context_instance=RequestContext(request))
by_percentage_saved.html
{% load endless %}
{% paginate items_by_percentage_saved %}
{% for item in items_by_percentage_saved %}
<div class="large-4 small-6 columns">
<a class="th" href=""><img style="height: 12em;" src={{ item.image_url }}></a>
<div class="panel">
<h5>{{ item.title|truncatechars:50 }}</h5>
...
</div>
</div>
{% endfor %}
{% show_more %}
Обновление Я сделал еще несколько отладок и items_by_percentage_saved
набор запросов определенно отсортирован в entry_index()
, Я поставил несколько контрольных точек в by_percentage_saved.html
чтобы узнать, смогу ли я выяснить, что происходит, но странным образом после того, как вы нажали "еще", чтобы получить следующие разбитые на страницы данные, entry_index()
вызывается снова, но контрольные точки никогда не срабатывают во второй раз by_percentage_saved.html
даже если новые данные разбиты на страницы. Разговор о путанице
1 ответ
Хорошо, решили это, снова пройдя документы и используя декораторы страниц. Документы вроде бы звучат так, как будто они не обязательны, но я предполагаю, что они требуют многократного разбиения на страницы на одной странице.
from endless_pagination.decorators import page_template
@page_template('entry_index_page.html')
@page_template('by_percentage_saved.html', key='by_percentage_saved')
def entry_index(request, parent_cat, child_cat, template='entry_index.html',
extra_context=None):