summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/sqlite.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-07-09 16:15:14 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-07-09 16:15:14 +0000
commite7e60c05c0dc5f6ee7f51a829c2e0635a26d95af (patch)
tree7c5824a7beb25ea2e76aa342caee6b06f55d9d78 /lib/sqlalchemy/databases/sqlite.py
parent36e7efa4eb51db50f1aaa8a98ab89c3af59400ae (diff)
downloadsqlalchemy-e7e60c05c0dc5f6ee7f51a829c2e0635a26d95af.tar.gz
- SQLite Date, DateTime, and Time types only accept Python
datetime objects now, not strings. If you'd like to format dates as strings yourself with SQLite, use a String type. If you'd like them to return datetime objects anyway despite their accepting strings as input, make a TypeDecorator around String - SQLA doesn't encourage this pattern.
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r--lib/sqlalchemy/databases/sqlite.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 620713fe1..26f1ecb91 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -12,7 +12,7 @@ from sqlalchemy.engine import default
import sqlalchemy.types as sqltypes
import sqlalchemy.util as util
from sqlalchemy.sql import compiler, functions as sql_functions
-
+from types import NoneType
SELECT_REGEXP = re.compile(r'\s*(?:SELECT|PRAGMA)', re.I | re.UNICODE)
@@ -59,9 +59,8 @@ class DateTimeMixin(object):
def bind_processor(self, dialect):
def process(value):
- if isinstance(value, basestring):
- # pass string values thru
- return value
+ if not isinstance(value, (NoneType, datetime.date, datetime.datetime, datetime.time)):
+ raise TypeError("SQLite Date, Time, and DateTime types only accept Python datetime objects as input.r")
elif value is not None:
if self.__microsecond__ and getattr(value, 'microsecond', None) is not None:
if self.__legacy_microseconds__: