首页 > 数据库 > mysql教程 > 如何使用 PostgreSQL 对 Django 查询中的 NULL 值进行最后排序?

如何使用 PostgreSQL 对 Django 查询中的 NULL 值进行最后排序?

Susan Sarandon
发布: 2024-12-29 14:19:18
原创
389 人浏览过

How to Sort NULL Values Last in Django Queries with PostgreSQL?

如何将“NULLS LAST”添加到 Django 查询

在 PostgreSQL 中对数据进行排序时,通常的做法是使用“NULLS LAST”选项可确保空值在结果末尾排序。 Django 的查询 API 不直接支持此选项。

解决方案

nulls_last=True 参数可以与 Expression.desc() 一起使用来控制 null 的排序价值观。这是一个示例:

from django.db.models import F

MyModel.objects.all().order_by(F('price').desc(nulls_last=True))
登录后复制

此语法自 Django 1.11 起可用。

其他信息

文档建议使用 Expression.asc( ) 或带有适当 nulls_last 参数的 Expression.desc() ,而不是带有传统 order_by 的 extra()

对于 Django 3.1 及以上版本,请参考官方文档了解更多信息:

https://docs.djangoproject.com/en/3.1/ref/models/expressions/#使用-f-对空值进行排序

以上是如何使用 PostgreSQL 对 Django 查询中的 NULL 值进行最后排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板