diff options
Diffstat (limited to 'django/db/backends/sqlite3')
| -rw-r--r-- | django/db/backends/sqlite3/base.py | 8 | ||||
| -rw-r--r-- | django/db/backends/sqlite3/operations.py | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 70d511f108..870dc10353 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -210,6 +210,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): conn.create_function("django_date_extract", 2, _sqlite_date_extract) conn.create_function("django_date_trunc", 2, _sqlite_date_trunc) conn.create_function("django_datetime_cast_date", 2, _sqlite_datetime_cast_date) + conn.create_function("django_datetime_cast_time", 2, _sqlite_datetime_cast_time) conn.create_function("django_datetime_extract", 3, _sqlite_datetime_extract) conn.create_function("django_datetime_trunc", 3, _sqlite_datetime_trunc) conn.create_function("django_time_extract", 2, _sqlite_time_extract) @@ -403,6 +404,13 @@ def _sqlite_datetime_cast_date(dt, tzname): return dt.date().isoformat() +def _sqlite_datetime_cast_time(dt, tzname): + dt = _sqlite_datetime_parse(dt, tzname) + if dt is None: + return None + return dt.time().isoformat() + + def _sqlite_datetime_extract(lookup_type, dt, tzname): dt = _sqlite_datetime_parse(dt, tzname) if dt is None: diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py index 4b7fc091db..bf3002b79b 100644 --- a/django/db/backends/sqlite3/operations.py +++ b/django/db/backends/sqlite3/operations.py @@ -85,6 +85,10 @@ class DatabaseOperations(BaseDatabaseOperations): self._require_pytz() return "django_datetime_cast_date(%s, %%s)" % field_name, [tzname] + def datetime_cast_time_sql(self, field_name, tzname): + self._require_pytz() + return "django_datetime_cast_time(%s, %%s)" % field_name, [tzname] + def datetime_extract_sql(self, lookup_type, field_name, tzname): # Same comment as in date_extract_sql. self._require_pytz() |
