소스 검색

fix: 修复归档显示错误的问题

SongZihuan 2 년 전
부모
커밋
9de2679519
2개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 2 3
      object/archive.py
  2. 7 4
      sql/archive.py

+ 2 - 3
object/archive.py

@@ -14,10 +14,9 @@ class _Archive:
 
     @staticmethod
     def get_blog_archive(blog_id: int):
-        archive = get_blog_archive(blog_id)
         archive_list = []
-        for i in archive:
-            archive_list.append(Archive(i[1]))
+        for i in get_blog_archive(blog_id):
+            archive_list.append(Archive(i))
         return archive_list
 
     @staticmethod

+ 7 - 4
sql/archive.py

@@ -16,7 +16,8 @@ def create_archive(name: str, describe: str):
 
 def read_archive(archive_id: int):
     """ 获取归档 ID """
-    cur = db.search(columns=["Name", "DescribeText"], table="archive",
+    cur = db.search(columns=["Name", "DescribeText"],
+                    table="archive",
                     where=f"ID={archive_id}")
     if cur is None or cur.rowcount == 0:
         return ["", ""]
@@ -25,11 +26,13 @@ def read_archive(archive_id: int):
 
 def get_blog_archive(blog_id: int):
     """ 获取文章的归档 """
-    cur = db.search(columns=["ArchiveID", "ArchiveName", "DescribeText"], table="blog_archive_with_name",
-                    where=f"BlogID={blog_id}")
+    cur = db.search(columns=["ArchiveID"],
+                    table="blog_archive_with_name",
+                    where=f"BlogID={blog_id}",
+                    order_by=[("ArchiveName", "ASC")])
     if cur is None or cur.rowcount == 0:
         return []
-    return cur.fetchall()
+    return [i[0] for i in cur.fetchall()]
 
 
 def delete_archive(archive_id: int):