Expected behavior: I should be able to edit an object that contains a
JSONField with default=list without having any validation errors if I save
without changing the JSONField.
Steps to reproduce:
1. Define a field in an Object using models.JSONField(default=list).
2. Create a new Object.
3. Go to edit view of that Object in Django Admin. You will see the
default [] empty list in the JSONField. Don’t change any field.
4. Click Save; without having changed anything, you’ll receive a
validation error that “This field is required”
5. Workaround: put quotes around the "[]” or replace with any valid
JSON object. If you try to put random characters in the field you'll
receive a "Enter a valid JSON." validation.
Note: This bug seems similar to #31157 https://groups.google.com/g/django-
updates/c/BshBo_jmUTA/m/Lu2ZY9mDCQAJ
Cheers,
Dave White
--
Ticket URL: <https://code.djangoproject.com/ticket/32410>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* ui_ux: 1 => 0
* component: contrib.admin => Forms
Comment:
This is not related with #31157. An empty list is an empty value for
`JSONField`.
Duplicate of #26391. Feel-free to add a comment to the original ticket.
--
Ticket URL: <https://code.djangoproject.com/ticket/32410#comment:1>
* status: new => closed
* resolution: => duplicate
--
Ticket URL: <https://code.djangoproject.com/ticket/32410#comment:2>