【问题标题】:How to custom sort in django如何在 django 中自定义排序
【发布时间】:2018-09-28 06:25:03
【问题描述】:

我刚开始学习 django。

我发现要对数据库中的数据进行排序,我们可以使用.order_by() 方法,将排序键作为参数传递。

假设我不想使用这个内置的排序方法:如何指定我自己的排序算法(可能是插入排序之类的)?

【问题讨论】:

  • order_by() 最终使用 DB 的 ORDER BY 子句,而不是 python 排序方法/函数

标签: django python-3.x django-models


【解决方案1】:

.order_by() method 在由 Django 生成的基础 SQL 语句中生成 ORDER BY 子句。

据我所知,您无法更改此行为。而且您不能指定自己的排序函数,因为.order_by() 不是在 Python 级别执行,而是在数据库级别执行。

【讨论】:

  • 好的,知道了。因此,如果我必须以另一种方式进行排序,那么我必须从数据库中获取所有数据,然后进行相应的排序。
  • 正确。但是数据库排序(如果有索引)通常比在 python 中排序要快很多。
猜你喜欢
  • 2016-02-03
  • 2010-10-27
  • 1970-01-01
  • 2022-10-05
  • 2016-12-05
  • 2011-04-07
  • 2011-06-27
  • 2019-05-19
  • 1970-01-01
相关资源
最近更新 更多