From d9d3b4f81ba88dfd155fcc4185fe7e4baa447f62 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 2 Apr 2026 13:19:50 -0700 Subject: [PATCH] Add deprecated filter logging --- src/documents/filters.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/documents/filters.py b/src/documents/filters.py index 25272055b..b2b226ee1 100644 --- a/src/documents/filters.py +++ b/src/documents/filters.py @@ -3,6 +3,7 @@ from __future__ import annotations import functools import inspect import json +import logging import operator from contextlib import contextmanager from typing import TYPE_CHECKING @@ -77,6 +78,8 @@ DATETIME_KWARGS = [ CUSTOM_FIELD_QUERY_MAX_DEPTH = 10 CUSTOM_FIELD_QUERY_MAX_ATOMS = 20 +logger = logging.getLogger("paperless.api") + class CorrespondentFilterSet(FilterSet): class Meta: @@ -166,6 +169,9 @@ class TitleContentFilter(Filter): def filter(self, qs: Any, value: Any) -> Any: value = value.strip() if isinstance(value, str) else value if value: + logger.warning( + "Deprecated document filter parameter 'title_content' used; use `text` instead.", + ) try: return qs.filter( Q(title__icontains=value) | Q(effective_content__icontains=value), @@ -244,6 +250,9 @@ class CustomFieldsFilter(Filter): def filter(self, qs, value): value = value.strip() if isinstance(value, str) else value if value: + logger.warning( + "Deprecated document filter parameter 'custom_fields__icontains' used; use `custom_field_query` or advanced Tantivy field syntax instead.", + ) fields_with_matching_selects = CustomField.objects.filter( extra_data__icontains=value, )