Fixed #12519 -- Corrected documentation on .raw() queries. Thanks to boralyl for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12561 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
d792737770
commit
6f9ba54bf5
|
@ -25,8 +25,10 @@ return model instances:
|
||||||
|
|
||||||
.. method:: Manager.raw(raw_query, params=None, translations=None)
|
.. method:: Manager.raw(raw_query, params=None, translations=None)
|
||||||
|
|
||||||
This method method takes a raw SQL query, executes it, and returns model
|
This method method takes a raw SQL query, executes it, and returns a
|
||||||
instances.
|
:class:`~django.db.models.query.RawQuerySet` instance. This
|
||||||
|
:class:`~django.db.models.query.RawQuerySet` instance can be iterated
|
||||||
|
over just like an normal QuerySet to provide object instances.
|
||||||
|
|
||||||
This is best illustrated with an example. Suppose you've got the following model::
|
This is best illustrated with an example. Suppose you've got the following model::
|
||||||
|
|
||||||
|
@ -37,8 +39,10 @@ This is best illustrated with an example. Suppose you've got the following model
|
||||||
|
|
||||||
You could then execute custom SQL like so::
|
You could then execute custom SQL like so::
|
||||||
|
|
||||||
>>> Person.objects.raw('SELECT * from myapp_person')
|
>>> for p in Person.objects.raw('SELECT * FROM myapp_person'):
|
||||||
[<Person: John Doe>, <Person: Jane Doe>, ...]
|
... print p
|
||||||
|
John Smith
|
||||||
|
Jane Jones
|
||||||
|
|
||||||
.. admonition:: Model table names
|
.. admonition:: Model table names
|
||||||
|
|
||||||
|
@ -110,7 +114,7 @@ Deferring model fields
|
||||||
|
|
||||||
Fields may also be left out::
|
Fields may also be left out::
|
||||||
|
|
||||||
>>> people = Person.objects.raw('SELECT id, first_name FROM myapp_person'):
|
>>> people = Person.objects.raw('SELECT id, first_name FROM myapp_person')
|
||||||
|
|
||||||
The ``Person`` objects returned by this query will be :ref:`deferred
|
The ``Person`` objects returned by this query will be :ref:`deferred
|
||||||
<queryset-defer>` model instances. This means that the fields that are omitted
|
<queryset-defer>` model instances. This means that the fields that are omitted
|
||||||
|
@ -142,7 +146,7 @@ of people with their ages calculated by the database::
|
||||||
|
|
||||||
>>> people = Person.objects.raw('SELECT *, age(birth_date) AS age FROM myapp_person')
|
>>> people = Person.objects.raw('SELECT *, age(birth_date) AS age FROM myapp_person')
|
||||||
>>> for p in people:
|
>>> for p in people:
|
||||||
... print "%s is %s." % (p.first_name, p.age)
|
... print "%s is %s." % (p.first_name, p.age)
|
||||||
John is 37.
|
John is 37.
|
||||||
Jane is 42.
|
Jane is 42.
|
||||||
...
|
...
|
||||||
|
|
Loading…
Reference in New Issue