From 44f3ee77166bd5c0e8a4604f2d96015268dce100 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Sat, 7 Mar 2015 13:20:29 -0800 Subject: Fixed #9596 -- Added date transform for DateTimeField. --- django/db/models/fields/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'django/db/models/fields') diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 3351b4ad35..e6fa29a565 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -1463,6 +1463,22 @@ class DateTimeField(DateField): return super(DateTimeField, self).formfield(**defaults) +@DateTimeField.register_lookup +class DateTimeDateTransform(Transform): + lookup_name = 'date' + + @cached_property + def output_field(self): + return DateField() + + def as_sql(self, compiler, connection): + lhs, lhs_params = compiler.compile(self.lhs) + tzname = timezone.get_current_timezone_name() if settings.USE_TZ else None + sql, tz_params = connection.ops.datetime_cast_date_sql(lhs, tzname) + lhs_params.extend(tz_params) + return sql, lhs_params + + class DecimalField(Field): empty_strings_allowed = False default_error_messages = { -- cgit v1.3