Я переключился на Django 1.3, чтобы получить нумерацию страниц для моих общих представлений на основе даты.Это прекрасно работает, однако есть страница, где я хочу указать определенное количество элементов, но не хочу разбивать их на страницы.Например, верните первые 5 записей новостей.
В версии 1.2 у нас был num_latest, который мы могли бы вставить в наш информационный запрос для получения последних элементов.Похоже, этого не существует в новых базовых представлениях на основе классов.
Я мог бы установить paginate_by равным 5 и просто не использовать ссылки нумерации страниц в шаблоне, но тогда люди все равно смогут увидеть старыезаписи путем перфорирования в URL вручную (что я не хочу).Кроме того, я не хочу, чтобы Django установил нумерацию страниц, которую я не собираюсь использовать.
Редактировать: это строка urlconf, которую я сейчас использую:
url(r'^$',
ArchiveIndexView.as_view(
model = Entry,
context_object_name = 'entry_list',
template_name = 'news/news.html',
date_field = 'published',
), name = 'archive_index'
),
Дальнейшее редактирование: Попытка переопределить get_dated_queryset Я использовал этот бит кода в сочетании с urlconf, как указано выше, но с новым представлением под названием:
class MainIndex(ArchiveIndexView):
def get_dated_queryset(self):
return Entry.objects.all()[:2]
Я получаю почти ту же ошибку, что упоминалась в комментариях: Невозможно переупорядочитьзапрос после взятия фрагмента.