Django query (contains, startswith, etc..) always case-insensitive

Viewed 36

Whenever I use Django's query functions like name__contains or name__startswith it is always case-insensitive, as if they were name__icontains or name__istartswith.

How could I force case-sensitivity?

I'm using Django 4.1.1 and Python 3.10

def index_filter(request, name_filter):
    case_sensitive_results = Person.objects.filter(name__contains=name_filter).count()
    case_insensitive_results = Person.objects.filter(name__icontains=name_filter).count()
    context = {'case_sensitive_results': case_sensitive_results, 'case_insensitive_results': case_insensitive_results}
    return render(request, 'index2.html', context)
0 Answers
Related