Изменение размера полей, доступных для чтения, в Django Admi
В моей админке Django в настоящее время JSONField отображается как readonly, данные JSON довольно большие и занимают около 80-90% страницы. Я смог найти ответ на вопрос о том, как можно изменить размер поля, не доступного для чтения здесь, но дальше я заблудился. В моем идеальном случае большие JSON-данные должны быть представлены в текстовом поле с возможностью прокрутки, например, так: Идеальный исход
Как контролировать размер поля, доступного для чтения, не обрезая данные?
Самый простой способ - создать метод "custom-field" в ModelAdmin вместо поля readonly в форме и отобразить его в виде прокручиваемого div:
class MyModelAdmin(ModelAdmin):
fields = ...., my_custom_field_mehod, ...
readonly_fields = ...., my_custom_field_mehod, ...
def my_custom_field_mehod(self, object=None):
if obj:
return mark_safe(f'<div class="scrollable">{obj.my_json_data}</div>')
return ''
Больше информации о "custom-field" здесь: https://docs.djangoproject.com/en/5.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.readonly_fields