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 <me@akhilnarang.dev>
This commit is contained in:
parent
a084bad5d5
commit
72007f636d
1 changed files with 6 additions and 0 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue