Refs #35444 -- Deprecated contrib.postgres.OrderableAggMixin.

This commit does not create any functional changes, but marks the
existing `OrderableAggMixin` class as deprecated so that developers
using it directly can be made aware of its future removal.
This commit is contained in:
Chris Muthig 2024-08-14 13:54:09 -06:00 committed by Sarah Boyce
parent 4b977a5d72
commit 1759c1dbd1
3 changed files with 15 additions and 1 deletions

View File

@ -1,6 +1,7 @@
# RemovedInDjango70Warning: When the deprecation ends, remove completely.
import warnings
from django.utils.deprecation import RemovedInDjango61Warning
from django.utils.deprecation import RemovedInDjango61Warning, RemovedInDjango70Warning
# RemovedInDjango61Warning.
@ -19,10 +20,17 @@ class _DeprecatedOrdering:
super().__init__(*expressions, order_by=order_by, **extra)
# RemovedInDjango70Warning.
# RemovedInDjango61Warning: When the deprecation ends, replace with:
# class OrderableAggMixin:
class OrderableAggMixin(_DeprecatedOrdering):
allow_order_by = True
def __init_subclass__(cls, /, *args, **kwargs):
warnings.warn(
"OrderableAggMixin is deprecated. Use Aggregate and allow_order_by "
"instead.",
category=RemovedInDjango70Warning,
stacklevel=1,
)
super().__init_subclass__(*args, **kwargs)

View File

@ -20,6 +20,9 @@ details on these changes.
* The ``django.contrib.postgres.aggregates.StringAgg`` class will be removed.
* The ``django.contrib.postgres.aggregates.mixins.OrderableAggMixin`` class
will be removed.
.. _deprecation-removed-in-6.1:
6.1

View File

@ -301,6 +301,9 @@ Miscellaneous
* The PostgreSQL ``StringAgg`` class is deprecated in favor of the generally
available :class:`~django.db.models.StringAgg` class.
* The PostgreSQL ``OrderableAggMixin`` is deprecated in favor of the
``order_by`` attribute now available on the ``Aggregate`` class.
Features removed in 6.0
=======================