Browse files

Merge pull request #625 from soulseekah/master

 Use sqlite3.Row factory in Flaskr (#588)
  • Loading branch information...
2 parents 17fc38c + 82b29c0 commit 3fdcefbcda47c1ad7fd3432d0643d127cd2918d4 @kennethreitz kennethreitz committed Jan 24, 2013
Showing with 9 additions and 2 deletions.
  1. +4 −0 docs/patterns/sqlite3.rst
  2. +5 −2 examples/flaskr/flaskr.py
View
4 docs/patterns/sqlite3.rst
@@ -76,6 +76,10 @@ dictionaries instead of tuples this can be used::
db.row_factory = make_dicts
+Or even simpler::
+
+ db.row_factory = sqlite3.Row
+
Additionally it is a good idea to provide a query function that combines
getting the cursor, executing and fetching the results::
View
7 examples/flaskr/flaskr.py
@@ -42,7 +42,10 @@ def get_db():
"""
top = _app_ctx_stack.top
if not hasattr(top, 'sqlite_db'):
- top.sqlite_db = sqlite3.connect(app.config['DATABASE'])
+ sqlite_db = sqlite3.connect(app.config['DATABASE'])
+ sqlite_db.row_factory = sqlite3.Row
+ top.sqlite_db = sqlite_db
+
return top.sqlite_db
@@ -58,7 +61,7 @@ def close_db_connection(exception):
def show_entries():
db = get_db()
cur = db.execute('select title, text from entries order by id desc')
- entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()]
+ entries = cur.fetchall()
return render_template('show_entries.html', entries=entries)

0 comments on commit 3fdcefb

Please sign in to comment.