django__django-13158
Com base na exploração e na tentativa anterior de patch que encontrei, compreendo o problema. O problema está no método QuerySet.none() do Django: quando chamado numa consulta combinada (união/interseção/diferença), o método set_empty() não
- 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-13158 && curl -fsSL https://doutorai.pt/data/lib/skills__django-django-13158.md -o .claude/skills/django-django-13158/SKILL.mdCole este comando no terminal, na pasta do seu projeto, e o componente é instalado automaticamente.
Conteúdo
Based on the exploration and the previous patch attempt I found, I understand the issue. The problem is in Django's `QuerySet.none()` method - when called on a combined query (union/intersection/difference), the `set_empty()` method doesn't properly handle the case where `query.combinator` is set because the combined queries still exist.
The fix needs to clear the `combined_queries` and `combinator` attributes before calling `set_empty()`. Here's the correct patch:
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -917,6 +917,8 @@ class QuerySet:
def none(self):
- 🔒 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.