• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Django中对数据查询结果进行排序的方法

Django中对数据查询结果进行排序的方法

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了django传递数据给js,django数据类型,django查询,django 多表查询,django 模糊查询等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序。 那么,使用 order_by() 这个方法就可以搞定了。

>>> Publisher.objects.order_by("name")
[<Publisher: Apress>, <Publisher: O'Reilly>]

</div>

跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分:

SELECT id, name, address, city, state_province, country, website
FROM books_publisher
ORDER BY name;

</div>

我们可以对任意字段进行排序:

>>> Publisher.objects.order_by("address")
[<Publisher: O'Reilly>, <Publisher: Apress>]

>>> Publisher.objects.order_by("state_province")
[<Publisher: Apress>, <Publisher: O'Reilly>]

</div>

如果需要以多个字段为标准进行排序(第二个字段会在第一个字段的值相同的情况下被使用到),使用多个参数就可以了,如下:

>>> Publisher.objects.order_by("state_province", "address")
 [<Publisher: Apress>, <Publisher: O'Reilly>]

</div>

我们还可以指定逆向排序,在前面加一个减号 - 前缀:

>>> Publisher.objects.order_by("-name")
[<Publisher: O'Reilly>, <Publisher: Apress>]

</div>

尽管很灵活,但是每次都要用 order_by() 显得有点啰嗦。 大多数时间你通常只会对某些 字段进行排序。 在这种情况下,Django让你可以指定模型的缺省排序方式:

class Publisher(models.Model):
  name = models.CharField(max_length=30)
  address = models.CharField(max_length=50)
  city = models.CharField(max_length=60)
  state_province = models.CharField(max_length=30)
  country = models.CharField(max_length=50)
  website = models.URLField()

  def __unicode__(self):
    return self.name

  **class Meta:**
    **ordering = ['name']**

</div>

现在,让我们来接触一个新的概念。 class Meta,内嵌于 Publisher 这个类的定义中(如果 class Publisher 是顶格的,那么 class Meta 在它之下要缩进4个空格--按 Python 的传统 )。你可以在任意一个 模型 类中使用 Meta 类,来设置一些与特定模型相关的选项。 在 附录B 中有 Meta 中所有可选项的完整参考,现在,我们关注 ordering 这个选项就够了。 如果你设置了这个选项,那么除非你检索时特意额外地使用了 order_by(),否则,当你使用 Django 的数据库 API 去检索时,Publisher对象的相关返回值默认地都会按 name 字段排序。

</div>

您可能想查找下面的文章:

  • Django接受前端数据的几种方法总结
  • Django返回json数据用法示例
  • Django返回json数据用法示例
  • Django URL传递参数的方法总结
  • Django的数据模型访问多对多键值的方法
  • Django框架中数据的连锁查询和限制返回数据的方法
  • Django中对数据查询结果进行排序的方法

相关文章

  • python定义类self用法实例解析
  • python完成FizzBuzzWhizz问题(拉勾网面试题)示例
  • 利用python实现数据分析
  • 详细介绍Ruby中的正则表达式
  • Python实现爬取知乎神回复简单爬虫代码分享
  • 利用Python中的mock库对Python代码进行模拟测试
  • python批量修改文件后缀示例代码分享
  • Python实现向QQ群成员自动发邮件的方法
  • 深入解析Python中的descriptor描述器的作用及用法
  • Python生成随机验证码的两种方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python获取网页上图片下载地址的方法
    • Python下Fabric的简单部署方法
    • python集合用法实例分析
    • Python程序设计入门(1)基本语法简介
    • python备份文件以及mysql数据库的脚本代码
    • Python中字符串的格式化方法小结
    • Python在Windows和在Linux下调用动态链接库的教程
    • Python爬虫:通过关键字爬取百度图片
    • python中的五种异常处理机制介绍
    • pygame学习笔记(2):画点的三种方法和动画实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有