我知道,我可以从Django ORM执行不区分大小写的搜索.喜欢,

User.objects.filter(first_name__contains="jake")
User.objects.filter(first_name__contains="sulley")
User.objects.filter(first_name__icontains="Jake")
User.objects.filter(first_name__icontains="Sulley")

此外,我还可以将它们作为

user_list = User.objects.all().order_by("first_name")
# sequence: (Jake, Sulley, jake, sulley)
user_list = User.objects.all().order_by("-first_name") # for reverse
# sequence: (sulley, jake, Sulley, Jake)

有没有一种直接的方法可以实现不区分大小写的提取??我想要一个序列

# desired sequence: jake, Jake, sulley, Sulley

如果不是,那就建议一个最好的方法.提前谢谢您.

推荐答案

This answer is outdated, follow 100 with django >= 1.8

我使用.Extra找到了解决方案

class MyModelName(models.Model):
   is_mine = models.BooleanField(default=False)
   name = models.CharField(max_length=100)


MyModelName.objects.filter( is_mine=1 ).extra(\
    select={'lower_name':'lower(name)'}).order_by('lower_name')

原始链接:

http://naorrosenberg.blogspot.fi/2011/04/django-models-orderby-charfield-case.html

Django相关问答推荐

如何在Django中更改模型字段名称?

Django-将html数据保存到quillfield中

如何在Django中获取标记<;输入>;的';值';属性?

POST_SAVE接缝有错误

Django 相当于子查询

Django 获取用户创建的对象,这些用户属于用户列表

Django:使用相同的外键在不同的应用程序中 Select 多个列

在 Django 中处理信用卡付款的最佳 Select 是什么?

django 用一个提交按钮提交两种不同的表单

在 Bootstrap 中使单击的选项卡处于活动状态

Django 从字段开始

在 django web 应用程序中,如何给用户自己的子域?

如何在django中生成临时文件然后销毁

django 模板 if 或语句

如何将我的上下文变量传递给 Django 中的 javascript 文件?

Celery - 在一台服务器上运行不同的工作人员

如何在 Django 1.9 中删除 DB (sqlite3) 以从头开始?

如何在 django 2.0 admin 中使用 allow_tags?

Django 的 Select .如何设置默认选项?

Numpy 数组到 base64 并返回到 Numpy 数组 - Python