Author: jacob
Date: 2007-02-25 23:07:12 -0600 (Sun, 25 Feb 2007)
New Revision: 4592
Modified:
django/trunk/django/db/models/fields/__init__.py
django/trunk/tests/modeltests/validation/models.py
Log:
Fixed #3172: Model.validate() no longer raises TypeErrors on empty Date*Fields.
Thanks, [EMAIL PROTECTED]
Modified: django/trunk/django/db/models/fields/__init__.py
===================================================================
--- django/trunk/django/db/models/fields/__init__.py 2007-02-26 04:53:44 UTC
(rev 4591)
+++ django/trunk/django/db/models/fields/__init__.py 2007-02-26 05:07:12 UTC
(rev 4592)
@@ -443,6 +443,8 @@
Field.__init__(self, verbose_name, name, **kwargs)
def to_python(self, value):
+ if value is None:
+ return value
if isinstance(value, datetime.datetime):
return value.date()
if isinstance(value, datetime.date):
@@ -505,6 +507,8 @@
class DateTimeField(DateField):
def to_python(self, value):
+ if value is None:
+ return value
if isinstance(value, datetime.datetime):
return value
if isinstance(value, datetime.date):
Modified: django/trunk/tests/modeltests/validation/models.py
===================================================================
--- django/trunk/tests/modeltests/validation/models.py 2007-02-26 04:53:44 UTC
(rev 4591)
+++ django/trunk/tests/modeltests/validation/models.py 2007-02-26 05:07:12 UTC
(rev 4592)
@@ -146,4 +146,8 @@
>>> p.validate()
{'email': ['Enter a valid e-mail address.']}
+# Make sure that Date and DateTime return validation errors and don't raise
Python errors.
+>>> Person(name='John Doe', is_child=True, email='[EMAIL
PROTECTED]').validate()
+{'favorite_moment': ['This field is required.'], 'birthdate': ['This field is
required.']}
+
"""}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---