Как мне отформатировать поле только для чтения в админке Django с помощью сторонней библиотеки? - PullRequest
0 голосов
/ 21 октября 2018

Я использую django-prettyjson , чтобы отформатировать мои JSONFields в админке.Мой код настроен следующим образом:

models.py

class MyModel(models.Model):
    structure = JSONField(default=dict, blank=True, null=True)
    static_structure = JSONField(default=dict, blank=True, null=True, editable=False)

admin.py

class MyModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        JSONField: {'widget': PrettyJSONWidget }
    }

    def get_readonly_fields(self, request, obj=None):
        if obj:
            return ('static_structure')
        else:
            return super(MyModelAdmin, self).get_readonly_fields(request, obj)

admin.site.register(MyModel, MyModelAdmin)

InДругими словами, одно из полей JSONFields не редактируется и доступно только для чтения.Он появляется на моей панели администратора, но на него не влияет виджет, который отображает другое поле в формате JSON.

Есть ли способ это исправить?Просматривать текстовые данные в формате JSON - это полное перетаскивание.Спасибо!

...