From b9ffffc91ff8457391ab0bf3305060ab9fa748b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timotej=20Sini=C4=8D=C3=A1k?= Date: Thu, 16 Apr 2026 12:59:13 +0200 Subject: [PATCH] fix(cache): #25955 - invalidate model on reordering action --- src/django_smartbase_admin/engine/admin_base_view.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/django_smartbase_admin/engine/admin_base_view.py b/src/django_smartbase_admin/engine/admin_base_view.py index 5f809d2..c1c48fd 100644 --- a/src/django_smartbase_admin/engine/admin_base_view.py +++ b/src/django_smartbase_admin/engine/admin_base_view.py @@ -371,6 +371,11 @@ def is_reorder_available(self, request) -> str | None: @sbadmin_action def action_table_reorder(self, request, modifier) -> JsonResponse: + try: + from cacheops import invalidate_model + except ImportError: + invalidate_model = None + self.activate_reorder(request) qs = self.get_queryset(request) pk_field = SBAdminViewService.get_pk_field_for_model(self.model).name @@ -402,6 +407,10 @@ def action_table_reorder(self, request, modifier) -> JsonResponse: + int(diff) } ) + + # Ensure fresh ordering after reorder for cacheops-managed models. + if invalidate_model: + invalidate_model(self.model) return JsonResponse({"message": request.POST}) @sbadmin_action