1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Fixed #35488 -- Fixed BaseModelFormSet.validate_unique() crash due to unhashable type.

This commit is contained in:
Madalin Popa
2024-06-08 14:57:27 +02:00
committed by Sarah Boyce
parent 2a32b23382
commit d28626ecf8
2 changed files with 27 additions and 2 deletions

View File

@@ -1703,6 +1703,30 @@ class ModelFormsetTest(TestCase):
[{}, {"__all__": ["Please correct the duplicate values below."]}, {}],
)
def test_inlineformset_with_jsonfield(self):
class BookForm(forms.ModelForm):
title = forms.JSONField()
class Meta:
model = Book
fields = ("title",)
BookFormSet = inlineformset_factory(Author, Book, form=BookForm)
data = {
"book_set-TOTAL_FORMS": "3",
"book_set-INITIAL_FORMS": "0",
"book_set-MAX_NUM_FORMS": "",
"book_set-0-title": {"test1": "test2"},
"book_set-1-title": {"test1": "test2"},
"book_set-2-title": {"test3": "test4"},
}
author = Author.objects.create(name="test")
formset = BookFormSet(data, instance=author)
self.assertEqual(
formset.errors,
[{}, {"__all__": ["Please correct the duplicate values below."]}, {}],
)
def test_model_formset_with_custom_pk(self):
# a formset for a Model that has a custom primary key that still needs to be
# added to the formset automatically