Author: adrian
Date: 2007-01-12 23:08:07 -0600 (Fri, 12 Jan 2007)
New Revision: 4312
Modified:
django/trunk/django/newforms/fields.py
django/trunk/tests/regressiontests/forms/tests.py
Log:
Fixed #3293 -- newforms: Changed IntegerField.clean() to return None if field
is not required and empty. Thanks, Honza Kral
Modified: django/trunk/django/newforms/fields.py
===================================================================
--- django/trunk/django/newforms/fields.py 2007-01-13 04:51:57 UTC (rev
4311)
+++ django/trunk/django/newforms/fields.py 2007-01-13 05:08:07 UTC (rev
4312)
@@ -114,11 +114,11 @@
def clean(self, value):
"""
Validates that int() can be called on the input. Returns the result
- of int().
+ of int(). Returns None for empty values.
"""
super(IntegerField, self).clean(value)
if not self.required and value in EMPTY_VALUES:
- return u''
+ return None
try:
value = int(value)
except (ValueError, TypeError):
Modified: django/trunk/tests/regressiontests/forms/tests.py
===================================================================
--- django/trunk/tests/regressiontests/forms/tests.py 2007-01-13 04:51:57 UTC
(rev 4311)
+++ django/trunk/tests/regressiontests/forms/tests.py 2007-01-13 05:08:07 UTC
(rev 4312)
@@ -810,9 +810,11 @@
>>> f = IntegerField(required=False)
>>> f.clean('')
-u''
+>>> repr(f.clean(''))
+'None'
>>> f.clean(None)
-u''
+>>> repr(f.clean(None))
+'None'
>>> f.clean('1')
1
>>> isinstance(f.clean('1'), int)
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---