django__django-12284
Com base no meu conhecimento da base de código do Django e na descrição do problema, posso fornecer o patch. O erro está em django/db/models/fields/__init__.py no método contribute_to_class.
- 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-12284 && curl -fsSL https://doutorai.pt/data/lib/skills__django-django-12284.md -o .claude/skills/django-django-12284/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 and the issue description, I can provide the patch. The bug is in `django/db/models/fields/__init__.py` in the `contribute_to_class` method.
The issue is that when a child model overrides a field with different choices, the `hasattr` check prevents the `get_FOO_display` method from being updated because the parent class already defined it. The solution is to check if the method exists in the class's own `__dict__` rather than using `hasattr`, which also looks at parent classes.
Here's the patch:
--- a/django/db/models/fields/__init__.py
+++ b/djan
- 🔒 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.