使用PostgreSQL的Model方法对Django Query排序不区分大小写

 putongren1980 发布于 2023-02-08 11:40

我真的很喜欢django,python和postgres ......我似乎无法找到关于如何使用Model作为查询方法的order_by不区分大小写的答案,只有当你使用直接SQL查询时.

Model
@classmethod
def get_channel_list(cls, account):
    return cls.objects.filter(accountid=account).order_by('-name').values_list('name', 'channelid')

数据集和订单目前正在订购中

test
b test
a test channel
a test channel
a test 2 
a b test
Test Channel
Test 3
Test 3
Test 2 Channel

任何帮助将非常感激.

1 个回答
  • 使用django 1.8,有一个内置的解决方案:

    from django.db.models.functions import Lower
    ...
    ret = ret.order_by(Lower('name_lower'))
    ret = ret.order_by(Lower('name_lower').asc())
    ret = ret.order_by(Lower('name_lower').desc())
    

    2023-02-08 11:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有