fix: DSPY cate.llms->cate['llms'], return {total,data} for DataViewer

DataViewer/PageDataLoader expects {total:N, data:[...]} format.
Bare array causes d.total=undefined → NaN → infinite paging loop.
Also fixes same cate.llms attribute access bug from before.
This commit is contained in:
yumoqing 2026-07-29 15:23:33 +08:00
parent 659af09a89
commit 960edc2581

View File

@ -11,11 +11,14 @@ data = await request._run_ns.get_llms_by_catelog_to_customer(
result = [] result = []
for cate in data: for cate in data:
for llm in cate.llms: for llm in cate['llms']:
if providerid and llm.providerid != providerid: if providerid and llm.providerid != providerid:
continue continue
if search and search.lower() not in (llm.name or '').lower(): if search:
if search.lower() not in (llm.description or '').lower(): sl = search.lower()
n = (llm.name or '').lower()
d = (llm.description or '').lower()
if sl not in n and sl not in d:
continue continue
result.append({ result.append({
'id': llm.id, 'id': llm.id,
@ -30,4 +33,4 @@ for cate in data:
'pricing_display': getattr(llm, 'pricing_display', []), 'pricing_display': getattr(llm, 'pricing_display', []),
}) })
return json.dumps(result, ensure_ascii=False) return json.dumps({'total': len(result), 'data': result}, ensure_ascii=False)