Django 更改空值的排序分组
在Django Rest框架中使用排序功能时,您可以按特定字段进行升序和降序排序 这种排序首先将空值分组,然后再将字母数字值分组。(这是可以理解的,因为没有一个小于“a”) 但是,我们有没有办法把这个顺序颠倒过来,所有的字母数字值都被排序,然后再分组,然后是所有的空值 当前排序时,这是查询集的顺序 名字:Django 更改空值的排序分组,django,django-rest-framework,Django,Django Rest Framework,在Django Rest框架中使用排序功能时,您可以按特定字段进行升序和降序排序 这种排序首先将空值分组,然后再将字母数字值分组。(这是可以理解的,因为没有一个小于“a”) 但是,我们有没有办法把这个顺序颠倒过来,所有的字母数字值都被排序,然后再分组,然后是所有的空值 当前排序时,这是查询集的顺序 名字: 没有 没有 艾比 本 但是期望的行为如下 名字: 艾比 本 没有 没有 信息: 我正在使用“按视图集”中的OrderingFilter 这是api端点的urlhttp://192.1
- 没有
- 没有
- 艾比
- 本
- 艾比
- 本
- 没有
- 没有
信息: 我正在使用“按视图集”中的OrderingFilter 这是api端点的url
http://192.168.1.85/people/?ordering=first_name
在DRF OrderingFilter类中,filter\u queryset方法在这里调用此代码queryset.order\u by(*ordering)
,这让我认为这可以从queryset本身解决
注:
我不确定解决方案是使用DRF、Django还是仅仅使用Python语言本身。任何都可以。这里有一个使用F表达式的好方法:此处的可能重复是使用F表达式的好方法:此处的可能重复