queryset query queries gte example django case-insensitive fetch django-orm

query - django-orm mayúsculas y minúsculas orden por



gte django (3)

Desde Django 1.8 es posible con:

from django.db.models.functions import Lower MyModel.objects.order_by(Lower(''myfield''))

https://code.djangoproject.com/ticket/6498

Lo sé, puedo realizar una búsqueda sin distinción de mayúsculas y minúsculas de DJango ORM. Me gusta,

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")

Y también, puedo traerlos como

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)

¿Hay una manera directa para una búsqueda sin distinción entre mayúsculas y minúsculas? Como en Quiero una secuencia como

# desired sequence: jake, Jake, sulley, Sulley

Si no, sugiera una mejor manera de hacerlo. Gracias por adelantado.



Esta respuesta no está actualizada, verifique la solución a continuación con django 1.8 ->

Encontré solución usando .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'')

enlace original:

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