Kaydet (Commit) 57970663 authored tarafından Adrian Holovaty's avatar Adrian Holovaty

Added support for istartswith and iendswith in database API

git-svn-id: http://code.djangoproject.com/svn/django/trunk@207 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst b617884c
......@@ -99,7 +99,9 @@ OPERATOR_MAPPING = {
'lt': '<',
'lte': '<=',
'startswith': 'LIKE',
'endswith': 'LIKE'
'endswith': 'LIKE',
'istartswith': 'ILIKE',
'iendswith': 'ILIKE',
}
# This dictionary maps Field objects to their associated MySQL column
......
......@@ -93,7 +93,9 @@ OPERATOR_MAPPING = {
'lt': '<',
'lte': '<=',
'startswith': 'LIKE',
'endswith': 'LIKE'
'endswith': 'LIKE',
'istartswith': 'ILIKE',
'iendswith': 'ILIKE',
}
# This dictionary maps Field objects to their associated PostgreSQL column
......
......@@ -52,21 +52,29 @@ The DB API supports the following lookup types:
========== ==============================================================
Type Description
========== ==============================================================
exact Exact match: ``polls.get_object(id__exact=14)``
exact Exact match: ``polls.get_object(id__exact=14)``.
iexact Case-insensitive exact match:
``polls.get_list(slug__iexact="foo")`` matches a slug of ``foo``,
``FOO``, ``fOo``, etc.
contains Case-sensitive containment test:
``polls.get_list(question__contains="spam")`` returns all polls
that contain "spam" in the question.
icontains Case-insensitive containment test
gt Greater than: ``polls.get_list(id__gt=4)``
gte Greater than or equal to
lt Less than
lte Less than or equal to
that contain "spam" in the question. (PostgreSQL only. MySQL
doesn't support case-sensitive LIKE statements; ``contains``
will act like ``icontains`` for MySQL.)
icontains Case-insensitive containment test.
gt Greater than: ``polls.get_list(id__gt=4)``.
gte Greater than or equal to.
lt Less than.
lte Less than or equal to.
startswith Case-sensitive starts-with:
``polls.get_list(question_startswith="Would")``
endswith Case-sensitive ends-with
``polls.get_list(question_startswith="Would")``. (PostgreSQL
only. MySQL doesn't support case-sensitive LIKE statements;
``startswith`` will act like ``istartswith`` for MySQL.)
endswith Case-sensitive ends-with. (PostgreSQL only. MySQL doesn't
support case-sensitive LIKE statements; ``endswith`` will act
like ``iendswith`` for MySQL.)
istartswith Case-insensitive starts-with.
iendswith Case-insensitive ends-with.
range Range test:
``polls.get_list(pub_date__range=(start_date, end_date))``
returns all polls with a pub_date between ``start_date``
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment