From e51ca57097e6b8a1aad2eeaf137265ddb5c07c6a Mon Sep 17 00:00:00 2001 From: Sagar Vora <16315650+sagarvora@users.noreply.github.com> Date: Tue, 16 Dec 2025 19:20:27 +0530 Subject: [PATCH] fix: reduce query and improve logic --- .../website/page_renderers/list_renderer.py | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/frappe/website/page_renderers/list_renderer.py b/frappe/website/page_renderers/list_renderer.py index fb9585f160..a3e76a1a0d 100644 --- a/frappe/website/page_renderers/list_renderer.py +++ b/frappe/website/page_renderers/list_renderer.py @@ -5,13 +5,24 @@ from frappe.website.page_renderers.template_page import TemplatePage class ListPage(TemplatePage): def can_render(self): - doctype = frappe.db.exists("DocType", self.path, True) - if doctype and doctype != "Web Page": + doctype = self.path + if not doctype or doctype == "Web Page": + return False + + try: meta = frappe.get_meta(doctype) - module = load_doctype_module(doctype) - if meta.has_web_view or hasattr(module, "get_list_context"): - return True - return False + except frappe.DoesNotExistError: + frappe.clear_last_message() + return False + + if meta.has_web_view: + return True + + if meta.custom: + return False + + module = load_doctype_module(doctype) + return hasattr(module, "get_list_context") def render(self): frappe.form_dict.doctype = self.path