From 690dc7b6002358d646c254f40e30095c862bfa2f Mon Sep 17 00:00:00 2001 From: Amirhossein Khalili Date: Fri, 12 Jun 2026 21:35:04 +0330 Subject: [PATCH] fix(blog): limit category nesting depth --- apps/blog/api/views.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/blog/api/views.py b/apps/blog/api/views.py index d48f31f..1973973 100644 --- a/apps/blog/api/views.py +++ b/apps/blog/api/views.py @@ -343,10 +343,14 @@ def _validate_category_parent(category_id: int | None, parent_id: int | None) -> return None, None if category_id and parent_id == category_id: return None, "A category cannot be its own parent." + if category_id and Category.objects.filter(parent_id=category_id).exists(): + return None, "A category with child categories must remain a root category." parent = Category.objects.filter(id=parent_id).first() if not parent: return None, "Parent category not found." + if parent.parent_id: + return None, "Only root categories can be selected as a parent." current = parent seen: set[int] = set()