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
-~----------~----~----~----~------~----~------~--~---

Reply via email to