diff options
| author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2016-09-07 03:14:29 -0700 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2016-09-07 12:16:31 +0200 |
| commit | d923733234afd20304db763913020170709ef088 (patch) | |
| tree | 94093b83ffce8743d622cc7b7860ee87cda7d863 /docs | |
| parent | fd183e1f819faa15a3205a1d9740ebfe3c8ebda0 (diff) | |
[1.10.x] Fixed #27172 -- Closed database cursor explicitly in two doc examples
Backport of ccf7adb064a70eb1b1ec5857f1dd54988f5c983c from master.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/topics/db/managers.txt | 24 | ||||
| -rw-r--r-- | docs/topics/db/sql.txt | 10 |
2 files changed, 16 insertions, 18 deletions
diff --git a/docs/topics/db/managers.txt b/docs/topics/db/managers.txt index db147cfb37..7ae6dc7b04 100644 --- a/docs/topics/db/managers.txt +++ b/docs/topics/db/managers.txt @@ -67,18 +67,18 @@ returns a list of all ``OpinionPoll`` objects, each with an extra class PollManager(models.Manager): def with_counts(self): from django.db import connection - cursor = connection.cursor() - cursor.execute(""" - SELECT p.id, p.question, p.poll_date, COUNT(*) - FROM polls_opinionpoll p, polls_response r - WHERE p.id = r.poll_id - GROUP BY p.id, p.question, p.poll_date - ORDER BY p.poll_date DESC""") - result_list = [] - for row in cursor.fetchall(): - p = self.model(id=row[0], question=row[1], poll_date=row[2]) - p.num_responses = row[3] - result_list.append(p) + with connection.cursor() as cursor: + cursor.execute(""" + SELECT p.id, p.question, p.poll_date, COUNT(*) + FROM polls_opinionpoll p, polls_response r + WHERE p.id = r.poll_id + GROUP BY p.id, p.question, p.poll_date + ORDER BY p.poll_date DESC""") + result_list = [] + for row in cursor.fetchall(): + p = self.model(id=row[0], question=row[1], poll_date=row[2]) + p.num_responses = row[3] + result_list.append(p) return result_list class OpinionPoll(models.Model): diff --git a/docs/topics/db/sql.txt b/docs/topics/db/sql.txt index a7970928f1..14bf7f9725 100644 --- a/docs/topics/db/sql.txt +++ b/docs/topics/db/sql.txt @@ -250,12 +250,10 @@ For example:: from django.db import connection def my_custom_sql(self): - cursor = connection.cursor() - - cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz]) - - cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz]) - row = cursor.fetchone() + with connection.cursor() as cursor: + cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz]) + cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz]) + row = cursor.fetchone() return row |
