django__django-12308
A correção precisa de estar em django/contrib/admin/utils.py na função display_for_field, que deve verificar se o campo é um JSONField e usar o seu método prepare_value para formatar adequadamente a saída como JSON.
- Skills
- Investigação em IA
- 2
Para que serve e como usar
Uma skill que ensina o Claude Code a executar bem tarefas de investigação em ia. É conhecimento empacotado que o modelo passa a usar sempre que for relevante.
- Instale a skill (comando acima).
- No Claude Code, descreva o que precisa - a skill ativa-se sozinha quando o contexto encaixa.
- Não precisa de decorar comandos: fala em linguagem natural e a skill faz o resto.
Instalar (Claude Code)
mkdir -p .claude/skills/django-django-12308 && curl -fsSL https://doutorai.pt/data/lib/skills__django-django-12308.md -o .claude/skills/django-django-12308/SKILL.mdCole este comando no terminal, na pasta do seu projeto, e o componente é instalado automaticamente.
Conteúdo
Based on my knowledge of Django's codebase, I can create the patch for this issue. The issue is about JSONField values being displayed as Python dict repr (e.g., `{'foo': 'bar'}`) instead of valid JSON (e.g., `{"foo": "bar"}`) when shown as readonly in the admin.
The fix needs to be in `django/contrib/admin/utils.py` in the `display_for_field` function, which should check if the field is a JSONField and use its `prepare_value` method to properly format the output as JSON.
Here's the patch:
--- a/django/contrib/admin/utils.py
+++ b/django/contrib/admin/utils.py
@@ -1,4 +1,5 @@
import dateti
- 🔒 Conteúdo completo no plano Pro (7,99€/mês) -Precisa de ajuda com o Claude Code?
Pergunte ao Dr AI - explica em simples.
Precisa de uma solução à medida?
Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.
Poupe horas todas as semanas com IA, sem complicações
O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.