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:
parent
e8ddef57d8
commit
ff3320cb6d
@ -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
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
@ -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
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user