فهرست منبع

Fixes #14838: JSONField should treat initial form data as JSON

Jeremy Stretch 2 سال پیش
والد
کامیت
481d16de08
1فایلهای تغییر یافته به همراه6 افزوده شده و 1 حذف شده
  1. 6 1
      netbox/utilities/forms/fields/fields.py

+ 6 - 1
netbox/utilities/forms/fields/fields.py

@@ -105,7 +105,12 @@ class JSONField(_JSONField):
             return value
         if value in ('', None):
             return ''
-        return json.dumps(value, sort_keys=True, indent=4)
+        if type(value) is str:
+            try:
+                value = json.loads(value, cls=self.decoder)
+            except json.decoder.JSONDecodeError:
+                return value
+        return json.dumps(value, sort_keys=True, indent=4, ensure_ascii=False, cls=self.encoder)
 
 
 class MACAddressField(forms.Field):