summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/backends/sqlite3')
-rw-r--r--django/db/backends/sqlite3/base.py8
-rw-r--r--django/db/backends/sqlite3/operations.py4
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()