Kaydet (Commit) 2d7c27d3 authored tarafından Tim Graham's avatar Tim Graham

Fixed #24302 -- Added DurationField.formfield()

üst 32ed4c20
...@@ -1689,6 +1689,13 @@ class DurationField(Field): ...@@ -1689,6 +1689,13 @@ class DurationField(Field):
val = self._get_val_from_obj(obj) val = self._get_val_from_obj(obj)
return '' if val is None else duration_string(val) 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): class EmailField(CharField):
default_validators = [validators.validate_email] default_validators = [validators.validate_email]
......
import datetime import datetime
import json import json
from django import forms
from django.core import exceptions, serializers from django.core import exceptions, serializers
from django.db import models from django.db import models
from django.test import TestCase from django.test import TestCase
...@@ -70,3 +71,11 @@ class TestValidation(TestCase): ...@@ -70,3 +71,11 @@ class TestValidation(TestCase):
"'not a datetime' value has an invalid format. " "'not a datetime' value has an invalid format. "
"It must be in [DD] [HH:[MM:]]ss[.uuuuuu] 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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment