diff --git a/routes/api_routes.py b/routes/api_routes.py
index e9b3d32b..3682c61e 100644
--- a/routes/api_routes.py
+++ b/routes/api_routes.py
@@ -368,7 +368,7 @@ class ApiRoutes:
logger.error(f"Error fetching CivitAI data for {lora['file_path']}: {e}")
if needs_resort:
- cache.sorted_by_name = sorted(cache.raw_data, key=itemgetter('model_name'))
+ await cache.resort(name_only=True)
# 发送完成消息
await ws_manager.broadcast({
diff --git a/services/lora_cache.py b/services/lora_cache.py
index d97a6567..9551ff9c 100644
--- a/services/lora_cache.py
+++ b/services/lora_cache.py
@@ -14,18 +14,19 @@ class LoraCache:
def __post_init__(self):
self._lock = asyncio.Lock()
- async def resort(self):
+ async def resort(self, name_only: bool = False):
"""Resort all cached data views"""
async with self._lock:
self.sorted_by_name = sorted(
self.raw_data,
key=lambda x: x['model_name'].lower() # Case-insensitive sort
)
- self.sorted_by_date = sorted(
- self.raw_data,
- key=itemgetter('modified'),
- reverse=True
- )
+ if not name_only:
+ self.sorted_by_date = sorted(
+ self.raw_data,
+ key=itemgetter('modified'),
+ reverse=True
+ )
# Update folder list
self.folders = sorted(list(set(
l['folder'] for l in self.raw_data
diff --git a/templates/loras.html b/templates/loras.html
index 4b5e422c..fd1f4a9d 100644
--- a/templates/loras.html
+++ b/templates/loras.html
@@ -60,9 +60,9 @@
+ {% if is_initializing %}
+ {% endif %}