summaryrefslogtreecommitdiff
path: root/django/contrib/admin/utils.py
diff options
context:
space:
mode:
authorQi Zhao <zhaoqi99@outlook.com>2020-10-08 21:51:14 +0800
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-10-09 08:14:17 +0200
commitde81676b51e4dad510ef387c3ae625f9091fe57f (patch)
treece5fb99bee30e6680cd7250dbf9d9b1467c8588f /django/contrib/admin/utils.py
parentb79088306513d5ed76d31ac40ab3c15f858946ea (diff)
downloaddjango-de81676b51e4dad510ef387c3ae625f9091fe57f.tar.gz
Fixed #32080 -- Fixed displaying Unicode chars in forms.JSONField and read-only JSONField values in admin.
Diffstat (limited to 'django/contrib/admin/utils.py')
-rw-r--r--django/contrib/admin/utils.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/django/contrib/admin/utils.py b/django/contrib/admin/utils.py
index 446083e659..ba06da5211 100644
--- a/django/contrib/admin/utils.py
+++ b/django/contrib/admin/utils.py
@@ -1,5 +1,6 @@
import datetime
import decimal
+import json
from collections import defaultdict
from django.core.exceptions import FieldDoesNotExist
@@ -400,7 +401,7 @@ def display_for_field(value, field, empty_value_display):
return format_html('<a href="{}">{}</a>', value.url, value)
elif isinstance(field, models.JSONField) and value:
try:
- return field.get_prep_value(value)
+ return json.dumps(value, ensure_ascii=False, cls=field.encoder)
except TypeError:
return display_for_value(value, empty_value_display)
else: