From 55d8a02ed046a647f24783570c675c8a5e94ac91 Mon Sep 17 00:00:00 2001 From: khaledsukkar2 Date: Tue, 1 Jul 2025 11:36:41 +0300 Subject: [PATCH 1/2] add drf request support for query count threshold methods. --- src/allianceutils/middleware/query_count.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/allianceutils/middleware/query_count.py b/src/allianceutils/middleware/query_count.py index 6ed88e1..deb9de6 100644 --- a/src/allianceutils/middleware/query_count.py +++ b/src/allianceutils/middleware/query_count.py @@ -1,8 +1,3 @@ -""" -Django DB instrumentation makes this relatively simple now: - -https://docs.djangoproject.com/en/dev/topics/db/instrumentation/ -""" from __future__ import annotations import logging @@ -69,8 +64,12 @@ def __call__(self, request: HttpRequest) -> HttpResponse: @classmethod def set_threshold(cls, request: HttpRequest, threshold: int): - cast(QueryCountHttpRequest, request).QUERY_COUNT_WARNING_THRESHOLD = threshold + # Use underlying Django request if available (e.g., DRF Request) + target_request = getattr(request, '_request', request) + cast(QueryCountHttpRequest, target_request).QUERY_COUNT_WARNING_THRESHOLD = threshold @classmethod def increase_threshold(cls, request: HttpRequest, increment: int): - cast(QueryCountHttpRequest, request).QUERY_COUNT_WARNING_THRESHOLD += increment \ No newline at end of file + # Use underlying Django request if available (e.g., DRF Request) + target_request = getattr(request, '_request', request) + cast(QueryCountHttpRequest, target_request).QUERY_COUNT_WARNING_THRESHOLD += increment \ No newline at end of file From 89e9e8edb34bc73a0b9efa2bec2002692383b50e Mon Sep 17 00:00:00 2001 From: Khaled Sukkar Date: Tue, 1 Jul 2025 11:44:49 +0300 Subject: [PATCH 2/2] Update query_count.py add the deleted docs for Django db instrumentation. --- src/allianceutils/middleware/query_count.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/allianceutils/middleware/query_count.py b/src/allianceutils/middleware/query_count.py index deb9de6..a4536b2 100644 --- a/src/allianceutils/middleware/query_count.py +++ b/src/allianceutils/middleware/query_count.py @@ -1,3 +1,8 @@ +""" +Django DB instrumentation makes this relatively simple now: + +https://docs.djangoproject.com/en/dev/topics/db/instrumentation/ +""" from __future__ import annotations import logging @@ -72,4 +77,4 @@ def set_threshold(cls, request: HttpRequest, threshold: int): def increase_threshold(cls, request: HttpRequest, increment: int): # Use underlying Django request if available (e.g., DRF Request) target_request = getattr(request, '_request', request) - cast(QueryCountHttpRequest, target_request).QUERY_COUNT_WARNING_THRESHOLD += increment \ No newline at end of file + cast(QueryCountHttpRequest, target_request).QUERY_COUNT_WARNING_THRESHOLD += increment