我已經切換到Django 1.3以獲得基於日期的通用視圖的分頁。這工作正常,但有一個頁面,我想要一個特定數量的項目,但不希望分頁。例如,返回前5個新聞條目。用基於類的基於日期的通用視圖替換num_latest?
在1.2我們有num_latest,我們可以把我們的信息字典,以獲得最新的項目。這似乎不存在與新的基於類的通用視圖。
我可以將paginate_by設置爲5,並且不使用模板中的分頁鏈接,但是人們仍然可以通過手動查看舊的條目(我不想)。此外,我不希望Django設置我不打算使用的分頁。
編輯:這是我目前使用的URL配置行:
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我用這段代碼在如上URL配置結合但隨着新鑑於叫做:
class MainIndex(ArchiveIndexView):
def get_dated_queryset(self):
return Entry.objects.all()[:2]
我得到幾乎相同的錯誤在評論中提到:一旦切片已採取 不能重新排序的查詢。
可悲的是沒有。我已經嘗試過簡單地對queryset進行切片,如下所示:queryset = Entry.objects.all()[:5],但是這給了我以下錯誤:「一旦切片已被採用,就無法過濾查詢。」,大概是因爲那裏是在切片之後完成的一些更多的東西。 –
您是否使用BaseDayArchiveView mixin的派生? – akonsu
不適用於該網址。我編輯了我的原始帖子,以顯示我目前用於相關視圖的urlconf。 –