29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
|
"""
|
||
|
This is the core database connection.
|
||
|
|
||
|
All CMS code assumes database SELECT statements cast the resulting values as such:
|
||
|
* booleans are mapped to Python booleans
|
||
|
* dates are mapped to Python datetime.date objects
|
||
|
* times are mapped to Python datetime.time objects
|
||
|
* timestamps are mapped to Python datetime.datetime objects
|
||
|
|
||
|
Right now, we're handling this by using psycopg's custom typecast definitions.
|
||
|
If we move to a different database module, we should ensure that it either
|
||
|
performs the appropriate typecasting out of the box, or that it has hooks that
|
||
|
let us do that.
|
||
|
"""
|
||
|
|
||
|
from django.conf.settings import DATABASE_ENGINE
|
||
|
|
||
|
dbmod = __import__('django.core.db.backends.%s' % DATABASE_ENGINE, '', '', [''])
|
||
|
|
||
|
DatabaseError = dbmod.DatabaseError
|
||
|
db = dbmod.DatabaseWrapper()
|
||
|
dictfetchone = dbmod.dictfetchone
|
||
|
dictfetchmany = dbmod.dictfetchmany
|
||
|
dictfetchall = dbmod.dictfetchall
|
||
|
dictfetchall = dbmod.dictfetchall
|
||
|
get_last_insert_id = dbmod.get_last_insert_id
|
||
|
OPERATOR_MAPPING = dbmod.OPERATOR_MAPPING
|
||
|
DATA_TYPES = dbmod.DATA_TYPES
|