﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
26104	forms.DurationField raise a TypeError when passing it a number	xialvjun	Sasha Gaevsky	"
{{{
from django.test import TestCase
from django import forms

class JieDuanModePartForm(forms.Form):
    duration = forms.DurationField()

class JieDuanModeFormTestCase(TestCase):

    def test_data(self):
        data = {'duration': 10800}
        form = JieDuanModePartForm(data=data)
        valid = form.is_valid()
        print(valid)
        print(form.cleaned_data)
}}}

code above raise a TypeError...

in `forms/fields.py` class `DurationField`   method   `to_python`   it use:
value = parse_duration(value)
but if wrap it with try block:

{{{
        try:
            value = parse_duration(value)
        except TypeError as e:
            raise ValidationError(self.error_messages['invalid'], code='invalid')
}}}

things may be better...

Or just   value = parse_duration(str(value))"	Bug	closed	Forms	1.9	Normal	fixed	forms, TypeError	django@…	Ready for checkin	1	0	0	0	0	0
