refactor: jsonfield pkg->Django JSONField #9284
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This moves all our JSONField model/form fields to Django's internal classes. These have been available since Django 3.3, and the jsonfield package has been deprecated as of version 3.2.0.
Fixes #9266
We can't actually remove the jsonfield dependency because several
0001_*
migrations refer to it. After we have merged this PR, we will need to plan another migration reset so we can drop those references. We may want to do this along with or shortly after the Django 5.x migration next year.Before the migrations can succeed, we need to clean up three Submissions that have null characters in them. These are
These seem to be real cancelled submissions, as the bad data was eventually fixed and the draft submitted successfully. Probably a fixup in the admin to remove the null characters is most appropriate. Testing locally, replacing the
\u0000
strings with "(null)" in theauthors
fields for thoes drafts allows migrations to succeed. Note that doing this requires #9285 be merged first.