在Python的Django框架中显示对象子集的方法
2015-07-21 00:00
811 查看
现在让我们来仔细看看这个 queryset 。 大多数通用视图有一个queryset参数,这个参数告诉视图要显示对象的集合。
举一个简单的例子,我们打算对书籍列表按出版日期排序,最近的排在最前:
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),** )
这是一个相当简单的例子,但是很说明问题。 当然,你通常还想做比重新排序更多的事。 如果你想要呈现某个特定出版商出版的所有书籍列表,你可以使用同样的技术:
**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),** )
注意 在使用一个过滤的 queryset 的同时,我们还使用了一个自定义的模板名称。 如果我们不这么做,通用视图就会用以前的模板,这可能不是我们想要的结果。
同样要注意的是这并不是一个处理出版商相关书籍的最好方法。 如果我们想要添加另一个 出版商页面,我们就得在URL配置中写URL配置,如果有很多的出版商,这个方法就不能 接受了。
相关文章推荐
- python切片的问题详解
- python生成式生成器详细解答
- 【中文分词】基于ICTCLAS的Python中文分词
- python文档字符串的作用及书写规范
- Python zip()函数的用法
- python类型比较的3种方式
- Python filter()函数的用法
- Python reduce()函数的用法
- 【Python 学习手册笔记】Python 语句简介
- Python进阶---一Python小测试
- python测试框架nose研究
- Python进阶---目录名的拼接
- python+M2Crypto+windows安装
- 机器学习算法与Python实践之(三)支持向量机(SVM)进阶
- python百度贴吧爬虫,以及爬虫简要入门
- Python科学计算的瑞士军刀——Anaconda 安装与配置
- 交互模式下python自动补全
- [转]0.python:scikit-learn基本用法
- 在Python中怎么表达True
- [转]Python机器学习工具箱