現(xiàn)在讓我們來(lái)仔細(xì)看看這個(gè) queryset 。 大多數(shù)通用視圖有一個(gè)queryset參數(shù),這個(gè)參數(shù)告訴視圖要顯示對(duì)象的集合。
舉一個(gè)簡(jiǎn)單的例子,我們打算對(duì)書(shū)籍列表按出版日期排序,最近的排在最前:
book_info = {
'queryset': Book.objects.order_by('-publication_date'),
}
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info),
**(r'^books/$', list_detail.object_list, book_info),**
)
這是一個(gè)相當(dāng)簡(jiǎn)單的例子,但是很說(shuō)明問(wèn)題。 當(dāng)然,你通常還想做比重新排序更多的事。 如果你想要呈現(xiàn)某個(gè)特定出版商出版的所有書(shū)籍列表,你可以使用同樣的技術(shù):
**apress_books = {**
**'queryset': Book.objects.filter(publisher__name='Apress Publishing'),**
**'template_name': 'books/apress_list.html'**
**}**
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info),
**(r'^books/apress/$', list_detail.object_list, apress_books),**
)
注意 在使用一個(gè)過(guò)濾的 queryset 的同時(shí),我們還使用了一個(gè)自定義的模板名稱(chēng)。 如果我們不這么做,通用視圖就會(huì)用以前的模板,這可能不是我們想要的結(jié)果。
同樣要注意的是這并不是一個(gè)處理出版商相關(guān)書(shū)籍的最好方法。 如果我們想要添加另一個(gè) 出版商頁(yè)面,我們就得在URL配置中寫(xiě)URL配置,如果有很多的出版商,這個(gè)方法就不能 接受了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

