Author: bouldersprinters
Date: 2007-04-13 12:50:19 -0500 (Fri, 13 Apr 2007)
New Revision: 5006
Modified:
django/branches/boulder-oracle-sprint/django/db/models/fields/__init__.py
Log:
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.
Modified:
django/branches/boulder-oracle-sprint/django/db/models/fields/__init__.py
===================================================================
--- django/branches/boulder-oracle-sprint/django/db/models/fields/__init__.py
2007-04-13 01:19:44 UTC (rev 5005)
+++ django/branches/boulder-oracle-sprint/django/db/models/fields/__init__.py
2007-04-13 17:50:19 UTC (rev 5006)
@@ -494,14 +494,15 @@
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):
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---