From 2d453a2a683d73c64dc32286685eb40cbca7c425 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 26 Aug 2025 08:54:34 -0400 Subject: Refs #36152 -- Suppressed duplicate warning when using "%" in alias via values(). --- django/db/models/query.py | 8 +++++++- django/db/models/sql/query.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'django') diff --git a/django/db/models/query.py b/django/db/models/query.py index 7ae9f53bfd..d2f31d15a0 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -35,6 +35,7 @@ from django.db.models.utils import ( resolve_callables, ) from django.utils import timezone +from django.utils.deprecation import RemovedInDjango70Warning from django.utils.functional import cached_property # The maximum number of results to fetch in a get() query. @@ -1394,7 +1395,12 @@ class QuerySet(AltersData): def _values(self, *fields, **expressions): clone = self._chain() if expressions: - clone = clone.annotate(**expressions) + # RemovedInDjango70Warning: When the deprecation ends, deindent as: + # clone = clone.annotate(**expressions) + with warnings.catch_warnings( + action="ignore", category=RemovedInDjango70Warning + ): + clone = clone.annotate(**expressions) clone._fields = fields clone.query.set_values(fields) return clone diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index df02070fa4..59d4b8f4da 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1219,7 +1219,7 @@ class Query(BaseExpression): if "aggregate" in {frame.function for frame in inspect.stack()}: stacklevel = 5 else: - # annotate() and alias(). + # annotate(), alias(), and values(). stacklevel = 6 warnings.warn( "Using percent signs in a column alias is deprecated.", -- cgit v1.3