1
0
mirror of https://github.com/django/django.git synced 2025-07-19 17:19:12 +00:00

[1.0.X] Documented that case-insensitive matching is not supported for non-ASCII

strings in SQLite. Refs #9905.

Backport of r9705 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9706 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2009-01-06 03:35:46 +00:00
parent e8ddef57d8
commit ff3320cb6d
2 changed files with 47 additions and 2 deletions

View File

@ -265,6 +265,26 @@ of whether ``unique=True`` is specified or not.
SQLite notes SQLite notes
============ ============
SQLite_ provides an excellent development alternative for applications that
are predominantly read-only or require a smaller installation footprint. As
with all database servers, though, there are some differences that are
specific to SQLite that you should be aware of.
.. _SQLite: http://www.sqlite.org/
.. _sqlite-string-matching:
String matching for non-ASCII strings
--------------------------------------
SQLite doesn't support case-insensitive matching for non-ASCII strings. Some
possible workarounds for this are `documented at sqlite.org`_, but they are
not utilised by the default SQLite backend in Django. Therefore, if you are
using the ``iexact`` lookup type in your queryset filters, be aware that it
will not work as expected for non-ASCII strings.
.. _documented at sqlite.org: http://www.sqlite.org/faq.html#q18
Versions prior to 3.3.6 Versions prior to 3.3.6
------------------------ ------------------------

View File

@ -986,8 +986,15 @@ SQL equivalent::
SELECT ... WHERE name ILIKE 'beatles blog'; SELECT ... WHERE name ILIKE 'beatles blog';
Note this will match ``'Beatles Blog'``, ``'beatles blog'``, Note this will match ``'Beatles Blog'``, ``'beatles blog'``, ``'BeAtLes
``'BeAtLes BLoG'``, etc. BLoG'``, etc.
.. admonition:: SQLite users
When using the SQLite backend and Unicode (non-ASCII) strings, bear in
mind the :ref:`database note <sqlite-string-matching>` about string
comparisons. SQLite does not do case-insensitive matching for Unicode
strings.
contains contains
~~~~~~~~ ~~~~~~~~
@ -1021,6 +1028,12 @@ SQL equivalent::
SELECT ... WHERE headline ILIKE '%Lennon%'; SELECT ... WHERE headline ILIKE '%Lennon%';
.. admonition:: SQLite users
When using the SQLite backend and Unicode (non-ASCII) strings, bear in
mind the :ref:`database note <sqlite-string-matching>` about string
comparisons.
in in
~~ ~~
@ -1109,6 +1122,12 @@ SQL equivalent::
SELECT ... WHERE headline ILIKE 'Will%'; SELECT ... WHERE headline ILIKE 'Will%';
.. admonition:: SQLite users
When using the SQLite backend and Unicode (non-ASCII) strings, bear in
mind the :ref:`database note <sqlite-string-matching>` about string
comparisons.
endswith endswith
~~~~~~~~ ~~~~~~~~
@ -1138,6 +1157,12 @@ SQL equivalent::
SELECT ... WHERE headline ILIKE '%will' SELECT ... WHERE headline ILIKE '%will'
.. admonition:: SQLite users
When using the SQLite backend and Unicode (non-ASCII) strings, bear in
mind the :ref:`database note <sqlite-string-matching>` about string
comparisons.
range range
~~~~~ ~~~~~