From 72007f636d3ad40c8180dd3fc253e321a66f9341 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Tue, 10 Mar 2026 14:23:19 +0530 Subject: [PATCH] fix(query): ensure atleast name is always selected Otherwise we got an empty query if we tried to only query a child table Signed-off-by: Akhil Narang --- frappe/database/query.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frappe/database/query.py b/frappe/database/query.py index 59b90ea377..977cbc7523 100644 --- a/frappe/database/query.py +++ b/frappe/database/query.py @@ -357,13 +357,19 @@ class Engine: self.fields = [self.table.name] self.query._child_queries = [] + has_select_field = False for field in self.fields: if isinstance(field, DynamicTableField): self.query = field.apply_select(self.query, engine=self) + has_select_field = True elif isinstance(field, ChildQuery): self.query._child_queries.append(field) else: self.query = self.query.select(field) + has_select_field = True + + if not has_select_field: + self.query = self.query.select(self.table.name) def apply_filters( self,