| 370 | |
| 371 | |
| 372 | def fieldEnum(session: SessionDep, id: int): |
| 373 | field = session.query(CoreField).filter(CoreField.id == id).first() |
| 374 | if field is None: |
| 375 | return [] |
| 376 | table = session.query(CoreTable).filter(CoreTable.id == field.table_id).first() |
| 377 | if table is None: |
| 378 | return [] |
| 379 | ds = session.query(CoreDatasource).filter(CoreDatasource.id == table.ds_id).first() |
| 380 | if ds is None: |
| 381 | return [] |
| 382 | |
| 383 | db = DB.get_db(ds.type) |
| 384 | sql = f"""SELECT DISTINCT {db.prefix}{field.field_name}{db.suffix} FROM {db.prefix}{table.table_name}{db.suffix}""" |
| 385 | res = exec_sql(ds, sql, True) |
| 386 | return [item.get(res.get('fields')[0]) for item in res.get('data')] |
| 387 | |
| 388 | |
| 389 | def updateNum(session: SessionDep, ds: CoreDatasource): |