mirror of
https://github.com/django/django.git
synced 2025-10-06 00:30:37 +00:00
[3.0.x] Fixed #30758 -- Made RangeFields use multiple hidden inputs for initial data.
Backport of faf4b988fe
from master.
This commit is contained in:
parent
14125bb039
commit
685d956764
2 changed files with 40 additions and 13 deletions
|
@ -5,6 +5,7 @@ from decimal import Decimal
|
|||
from django import forms
|
||||
from django.core import exceptions, serializers
|
||||
from django.db.models import DateField, DateTimeField, F, Func, Value
|
||||
from django.http import QueryDict
|
||||
from django.test import ignore_warnings, override_settings
|
||||
from django.utils import timezone
|
||||
from django.utils.deprecation import RemovedInDjango31Warning
|
||||
|
@ -512,6 +513,24 @@ class TestFormField(PostgreSQLSimpleTestCase):
|
|||
value = field.clean(['', ''])
|
||||
self.assertIsNone(value)
|
||||
|
||||
def test_datetime_form_initial_data(self):
|
||||
class DateTimeRangeForm(forms.Form):
|
||||
datetime_field = pg_forms.DateTimeRangeField(show_hidden_initial=True)
|
||||
|
||||
data = QueryDict(mutable=True)
|
||||
data.update({
|
||||
'datetime_field_0': '2010-01-01 11:13:00',
|
||||
'datetime_field_1': '',
|
||||
'initial-datetime_field_0': '2010-01-01 10:12:00',
|
||||
'initial-datetime_field_1': '',
|
||||
})
|
||||
form = DateTimeRangeForm(data=data)
|
||||
self.assertTrue(form.has_changed())
|
||||
|
||||
data['initial-datetime_field_0'] = '2010-01-01 11:13:00'
|
||||
form = DateTimeRangeForm(data=data)
|
||||
self.assertFalse(form.has_changed())
|
||||
|
||||
def test_rendering(self):
|
||||
class RangeForm(forms.Form):
|
||||
ints = pg_forms.IntegerRangeField()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue