Man sollte ja meinen, dass man eine Seite mit dem Titel Ärgerlich
auch dann findet, wenn der Suchbegriff Ärger
lautet und man nicht case-sensitive sucht. Weit gefehlt! Django setzt den Ausdruck
Page.objects.filter(title__contains=u'Ärger')
in
SELECT ... WHERE `title` LIKE BINARY %\xc3\x84rger%;
Möchte man den guten alten LIKE-Operator verwenden, sollte die Abfrage
Page.objects.filter(title__icontains=u'Ärger')
lauten. Ohne Tony McDonald und Karen Tracey hätte mich dieses nette kleine Rätsel vermutlich in tiefe Verzweiflung gestürzt.