From c57fe6c3ece9f47778d7e00533b7d278e3e516f1 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Fri, 24 Oct 2008 09:25:32 +0000 Subject: [PATCH] Fixed #9432 -- Revived documentation of ~Q usage. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9267 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/topics/db/queries.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index 0bb4a9c13c7..43daff4a3e2 100644 --- a/docs/topics/db/queries.txt +++ b/docs/topics/db/queries.txt @@ -601,7 +601,11 @@ This is equivalent to the following SQL ``WHERE`` clause:: WHERE question LIKE 'Who%' OR question LIKE 'What%' You can compose statements of arbitrary complexity by combining ``Q`` objects -with the ``&`` and ``|`` operators. You can also use parenthetical grouping. +with the ``&`` and ``|`` operators and use parenthetical grouping. Also, ``Q`` +objects can be negated using the ``~`` operator, allowing for combined lookups +that combine both a normal query and a negated (``NOT``) query:: + + Q(question__startswith='Who') | ~Q(pub_date__year=2005) Each lookup function that takes keyword-arguments (e.g. ``filter()``, ``exclude()``, ``get()``) can also be passed one or more ``Q`` objects as