From 67079b530487cb7d59f5570b84b318abb81588fc Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 3 Jul 2026 01:22:27 -0600 Subject: [PATCH] =?UTF-8?q?fix:=20=5Fbuild=5Fsql=5Fdisplay=20=E5=85=9C?= =?UTF-8?q?=E5=BA=95=20info=20=E7=BB=93=E6=9E=84=E6=8D=9F=E5=9D=8F?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=20KeyError=20=E5=AF=BC=E8=87=B4=205?= =?UTF-8?q?00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- problem/views/admin.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/problem/views/admin.py b/problem/views/admin.py index 1c5c8dc..691428a 100644 --- a/problem/views/admin.py +++ b/problem/views/admin.py @@ -233,10 +233,13 @@ class ProblemBase(APIView): return "测试点信息读取失败,请重新上传测试点" if not info.get("sql"): return "测试点不是 SQL 类型,请重新上传 SQL 测试点压缩包" - keys = sorted(info["test_cases"].keys(), key=natural_sort_key) - if not keys: - return "题目没有任何测试点" - input_name = info["test_cases"][keys[0]]["input_name"] + try: + keys = sorted(info["test_cases"].keys(), key=natural_sort_key) + if not keys: + return "题目没有任何测试点" + input_name = info["test_cases"][keys[0]]["input_name"] + except (KeyError, AttributeError): + return "测试点信息损坏,请重新上传测试点" try: with open(os.path.join(test_case_dir, input_name), encoding="utf-8") as f: init_sql = f.read()