Database¶
A couple of low-level utilities for those who tired of manually creating cursors.
-
fetch_all
(sql, params=(), server='default')¶ Execute given sql and return all resulting rows.
-
fetch_row
(sql, params=(), server='default')¶ Execute given sql and return one row.
-
fetch_col
(sql, params=(), server='default')¶ Execute given sql and return list of values in first result column.
-
fetch_val
(sql, params=(), server='default')¶ Execute given sql and return single resulting value:
last_id = fetch_val('select max(id) from some_table')
-
do_sql
(sql, params=(), server='default')¶ Execute given sql with given params.
-
fetch_dicts
(sql, params=(), server='default')¶ Same as
fetch_all()
, but returns results as dicts.
-
fetch_dict
(sql, params=(), server='default')¶ Same as
fetch_row()
, but returns result as dict.
-
fetch_named
(sql, params=(), server='default')¶ Same as
fetch_all()
, but returnsnamedtuples
.
-
fetch_named_row
(sql, params=(), server='default')¶ Same as
fetch_row()
, but returnsnamedtuple
.
-
queryset_iterator
(queryset, chunksize=1000)¶ Iterate over a Django Queryset ordered by the primary key.
This method loads a maximum of chunksize (default: 1000) rows in it’s memory at the same time while django normally would load all rows in it’s memory. It also bypasses django queryset cache.
Note that ordered querysets not supported.
-
queryset_chunks
(queryset, chunksize=1000)¶ Returns iterator yielding chunks of django queryset. Takes care not to load everything at once.