summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gaevsky <sasha@sasha0.ru>2016-01-22 21:33:21 +0200
committerTim Graham <timograham@gmail.com>2016-01-22 16:24:49 -0500
commit956cde800490d2d9e1e5fcc83755a9226de27f24 (patch)
tree2b3f1c2829c62f45c182b5b3abcab5f3cb9974d4
parent95648eb5c141db7495789f34b64ef54bb0455b08 (diff)
Fixed #26104 -- Fixed TypeError when passing number to forms.DurationField.
-rw-r--r--django/forms/fields.py2
-rw-r--r--tests/forms_tests/tests/test_fields.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index ac615bbe68..00e9ff102b 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -488,7 +488,7 @@ class DurationField(Field):
return None
if isinstance(value, datetime.timedelta):
return value
- value = parse_duration(value)
+ value = parse_duration(force_str(value))
if value is None:
raise ValidationError(self.error_messages['invalid'], code='invalid')
return value
diff --git a/tests/forms_tests/tests/test_fields.py b/tests/forms_tests/tests/test_fields.py
index 80e17881ef..1bab912cfc 100644
--- a/tests/forms_tests/tests/test_fields.py
+++ b/tests/forms_tests/tests/test_fields.py
@@ -722,6 +722,10 @@ class FieldsTests(SimpleTestCase):
str(f['duration'])
)
+ def test_durationfield_integer_value(self):
+ f = DurationField()
+ self.assertEqual(datetime.timedelta(0, 10800), f.clean(10800))
+
def test_durationfield_prepare_value(self):
field = DurationField()
td = datetime.timedelta(minutes=15, seconds=30)