diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 2dacd1cc55..4e23d9a5e7 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -351,6 +351,8 @@ class DateField(Field): def get_db_prep_lookup(self, lookup_type, value): if lookup_type == 'range': value = [str(v) for v in value] + elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte', 'ne'): + value = value.strftime('%Y-%m-%d') else: value = str(value) return Field.get_db_prep_lookup(self, lookup_type, value) @@ -399,6 +401,13 @@ class DateTimeField(DateField): value = str(value) return Field.get_db_prep_save(self, value) + def get_db_prep_lookup(self, lookup_type, value): + if lookup_type == 'range': + value = [str(v) for v in value] + else: + value = str(value) + return Field.get_db_prep_lookup(self, lookup_type, value) + def get_manipulator_field_objs(self): return [forms.DateField, forms.TimeField]