And*_*rew 5 python django python-2.7 django-1.5 postgresql-9.3
我真的很喜欢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')
Run Code Online (Sandbox Code Playgroud)
数据集和订单目前正在订购中
test
b test
a test channel
a test channel
a test 2
a b test
Test Channel
Test 3
Test 3
Test 2 Channel
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
小智 22
使用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())
Run Code Online (Sandbox Code Playgroud)
@classmethod
def get_channel_list(cls, account):
ret = cls.objects.extra(select={'name_lower': 'lower(name)'})
ret = ret.order_by('-name_lower')
ret = ret.filter(accountid=account).values_list('name', 'channelid')
return channels
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2210 次 |
最近记录: |