mirror of
https://github.com/django/django.git
synced 2025-08-26 21:44:31 +00:00
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
This commit is contained in:
parent
bcfbb71c63
commit
711a7d4d50
2 changed files with 31 additions and 0 deletions
|
@ -975,6 +975,26 @@ class TestSplitFormField(PostgreSQLSimpleTestCase):
|
|||
form = Form(data, instance=obj)
|
||||
self.assertIs(form.has_changed(), expected_result)
|
||||
|
||||
def test_splitarrayfield_remove_trailing_nulls_has_changed(self):
|
||||
class Form(forms.ModelForm):
|
||||
field = SplitArrayField(forms.IntegerField(), required=False, size=2, remove_trailing_nulls=True)
|
||||
|
||||
class Meta:
|
||||
model = IntegerArrayModel
|
||||
fields = ('field',)
|
||||
|
||||
tests = [
|
||||
({}, {'field_0': '', 'field_1': ''}, False),
|
||||
({'field': None}, {'field_0': '', 'field_1': ''}, False),
|
||||
({'field': []}, {'field_0': '', 'field_1': ''}, False),
|
||||
({'field': [1]}, {'field_0': '1', 'field_1': ''}, False),
|
||||
]
|
||||
for initial, data, expected_result in tests:
|
||||
with self.subTest(initial=initial, data=data):
|
||||
obj = IntegerArrayModel(**initial)
|
||||
form = Form(data, instance=obj)
|
||||
self.assertIs(form.has_changed(), expected_result)
|
||||
|
||||
|
||||
class TestSplitFormWidget(PostgreSQLWidgetTestCase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue