Commit 2d7c27d3 authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #24302 -- Added DurationField.formfield()

parent 32ed4c20
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1689,6 +1689,13 @@ class DurationField(Field):
        val = self._get_val_from_obj(obj)
        return '' if val is None else duration_string(val)

    def formfield(self, **kwargs):
        defaults = {
            'form_class': forms.DurationField,
        }
        defaults.update(kwargs)
        return super(DurationField, self).formfield(**defaults)


class EmailField(CharField):
    default_validators = [validators.validate_email]
+9 −0
Original line number Diff line number Diff line
import datetime
import json

from django import forms
from django.core import exceptions, serializers
from django.db import models
from django.test import TestCase
@@ -70,3 +71,11 @@ class TestValidation(TestCase):
            "'not a datetime' value has an invalid format. "
            "It must be in [DD] [HH:[MM:]]ss[.uuuuuu] format."
        )


class TestFormField(TestCase):
    # Tests for forms.DurationField are in the forms_tests app.

    def test_formfield(self):
        field = models.DurationField()
        self.assertIsInstance(field.formfield(), forms.DurationField)