1
0
mirror of https://github.com/django/django.git synced 2025-07-04 17:59:13 +00:00

boulder-oracle-sprint: Made DateField.get_db_prep_save convert datetime.date objects to datetime.datetime, since cx_Oracle doesn't handle datetime.date under Python 2.3.

git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@5006 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Boulder Sprinters 2007-04-13 17:50:19 +00:00
parent 8051e715b9
commit 48c0460605

View File

@ -494,14 +494,15 @@ class DateField(Field):
def get_db_prep_save(self, value):
# Casts dates into string format for entry into database.
if isinstance(value, datetime.datetime):
if settings.DATABASE_ENGINE != 'oracle':
# Oracle does not need a string conversion
if settings.DATABASE_ENGINE != 'oracle':
if isinstance(value, datetime.datetime):
value = value.date().strftime('%Y-%m-%d')
elif isinstance(value, datetime.date):
if settings.DATABASE_ENGINE != 'oracle':
# Oracle does not need a string conversion
elif isinstance(value, datetime.date):
value = value.strftime('%Y-%m-%d')
else:
# cx_Oracle needs a conversion to datetime.datetime instead.
if isinstance(value, datetime.date):
value = datetime.datetime.combine(value, datetime.time())
return Field.get_db_prep_save(self, value)
def get_manipulator_field_objs(self):