6

我有一个 django 应用程序,也使用rest_framework,以及一个Product字段类型为 的模型JSONField。所以数据存储为JSONPostgres现在我想为管理员提供一个很好的用户友好方式,告诉他如何更改 json 字段(names/keys and values)。是否有扩展或有更快的方法来做到这一点。

这是数据库中的列定义。 my_column = JSONField(default={"editorial1": "text 1", "editorial_2": "text2", "editorial_3": "text"})

键和值都应该由管理员编辑

管理员不应该对 JSON 有任何了解,并且不应该输入/编辑任何 json 格式字段

4

3 回答 3

5

您可以使用prettyjson's PrettyJSONWidget

class ProductModelForm(forms.ModelForm):
    class Meta:
        fields = (
            ...
            'my_column',
        )
        widgets = {
            'my_column': PrettyJSONWidget(),
        }
于 2018-08-01T14:04:56.573 回答
3

我最终使用了django-admin-json-editor. 不是世界上最好的东西,但它确实有用

https://github.com/abogushov/django-admin-json-editor

于 2018-08-01T14:54:49.840 回答
2

你可以试试https://github.com/jrief/django-entangled

与上面提到的编辑器相比,它不会替换用于呈现 JSON 的小部件,但允许覆盖ModelForm否则由 Django 生成的ModelAdmin.

于 2019-05-28T10:11:12.643 回答