From f54ad73fa2d088cfc242ef7387eb9e17351d894c Mon Sep 17 00:00:00 2001 From: Langel Date: Thu, 5 Feb 2026 19:53:55 +0800 Subject: [PATCH] fix(datasource): sort fieldList results with enabled fields first --- backend/apps/datasource/crud/field.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/apps/datasource/crud/field.py b/backend/apps/datasource/crud/field.py index 371b86e7..98716309 100644 --- a/backend/apps/datasource/crud/field.py +++ b/backend/apps/datasource/crud/field.py @@ -9,14 +9,15 @@ def delete_field_by_ds_id(session: SessionDep, id: int): def get_fields_by_table_id(session: SessionDep, id: int, field: FieldObj): + order = (CoreField.checked.desc(), CoreField.field_index.asc()) if field and field.fieldName: return session.query(CoreField).filter( and_(CoreField.table_id == id, or_(CoreField.field_name.like(f'%{field.fieldName}%'), CoreField.field_name.like(f'%{field.fieldName.lower()}%'), CoreField.field_name.like(f'%{field.fieldName.upper()}%')))).order_by( - CoreField.field_index.asc()).all() + *order).all() else: - return session.query(CoreField).filter(CoreField.table_id == id).order_by(CoreField.field_index.asc()).all() + return session.query(CoreField).filter(CoreField.table_id == id).order_by(*order).all() def update_field(session: SessionDep, item: CoreField):