diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-07-09 16:15:14 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-07-09 16:15:14 +0000 |
commit | e7e60c05c0dc5f6ee7f51a829c2e0635a26d95af (patch) | |
tree | 7c5824a7beb25ea2e76aa342caee6b06f55d9d78 /lib/sqlalchemy/databases/sqlite.py | |
parent | 36e7efa4eb51db50f1aaa8a98ab89c3af59400ae (diff) | |
download | sqlalchemy-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.py | 7 |
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__: |