在Python的Django框架中显示对象子集的方法


Posted in Python onJuly 21, 2015

现在让我们来仔细看看这个 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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python和php通信乱码问题解决方法
Apr 15 Python
Django csrf 验证问题的实现
Oct 09 Python
使用python3实现操作串口详解
Jan 01 Python
python程序控制NAO机器人行走
Apr 29 Python
详解如何设置Python环境变量?
May 13 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
python并发编程多进程之守护进程原理解析
Aug 20 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
python 日志 logging模块详细解析
Mar 31 Python
python 进程池pool使用详解
Oct 15 Python
在Django的通用视图中处理Context的方法
Jul 21 #Python
Django框架中的对象列表视图使用示例
Jul 21 #Python
在Python的Django框架中使用通用视图的方法
Jul 21 #Python
在Django的模型中执行原始SQL查询的方法
Jul 21 #Python
在Django的模型中添加自定义方法的示例
Jul 21 #Python
详解Python的Django框架中Manager方法的使用
Jul 21 #Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 #Python
You might like
php采集速度探究总结(原创)
2008/04/18 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
javascript如何创建对象
2016/08/29 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
详解Python中的测试工具
2019/06/09 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python实现从ftp服务器下载文件
2020/03/03 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
新闻报道策划方案
2014/06/11 职场文书
绿里奇迹观后感
2015/06/15 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android