From a744baf4c97d5d0667ae1a03803f3523336a340a Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Sun, 17 May 2026 07:31:05 -0600 Subject: [PATCH] fix --- ...5_alter_user_is_disabled_alter_user_open_api_and_more.py | 6 +++--- account/models.py | 6 +++--- .../0005_alter_acmcontestrank_accepted_number_and_more.py | 4 ++-- contest/models.py | 4 ++-- .../0009_alter_problem_accepted_number_and_more.py | 4 ++-- problem/models.py | 4 ++-- ...lter_submission_info_alter_submission_result_and_more.py | 4 ++-- submission/models.py | 4 ++-- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/account/migrations/0005_alter_user_is_disabled_alter_user_open_api_and_more.py b/account/migrations/0005_alter_user_is_disabled_alter_user_open_api_and_more.py index 4c1e462..8d0f16c 100644 --- a/account/migrations/0005_alter_user_is_disabled_alter_user_open_api_and_more.py +++ b/account/migrations/0005_alter_user_is_disabled_alter_user_open_api_and_more.py @@ -23,7 +23,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='user', name='session_keys', - field=models.JSONField(db_default=models.Value([]), default=list), + field=models.JSONField(db_default=models.Value([], output_field=models.JSONField()), default=list), ), migrations.AlterField( model_name='user', @@ -38,12 +38,12 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='userprofile', name='acm_problems_status', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='userprofile', name='oi_problems_status', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='userprofile', diff --git a/account/models.py b/account/models.py index 88f92e6..3fe9afa 100644 --- a/account/models.py +++ b/account/models.py @@ -38,7 +38,7 @@ class User(AbstractBaseUser): auth_token = models.TextField(null=True) two_factor_auth = models.BooleanField(default=False, db_default=False) tfa_token = models.TextField(null=True) - session_keys = JSONField(default=list, db_default=models.Value([])) + session_keys = JSONField(default=list, db_default=models.Value([], output_field=models.JSONField())) # open api key open_api = models.BooleanField(default=False, db_default=False) open_api_appkey = models.TextField(null=True) @@ -93,9 +93,9 @@ class UserProfile(models.Model): # } # } # } - acm_problems_status = JSONField(default=dict, db_default=models.Value({})) + acm_problems_status = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) # like acm_problems_status, merely add "score" field - oi_problems_status = JSONField(default=dict, db_default=models.Value({})) + oi_problems_status = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) real_name = models.TextField(null=True) avatar = models.TextField(default=f"{settings.AVATAR_URI_PREFIX}/default.png") diff --git a/contest/migrations/0005_alter_acmcontestrank_accepted_number_and_more.py b/contest/migrations/0005_alter_acmcontestrank_accepted_number_and_more.py index b09df5e..2c27892 100644 --- a/contest/migrations/0005_alter_acmcontestrank_accepted_number_and_more.py +++ b/contest/migrations/0005_alter_acmcontestrank_accepted_number_and_more.py @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='acmcontestrank', name='submission_info', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='acmcontestrank', @@ -33,7 +33,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='oicontestrank', name='submission_info', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='oicontestrank', diff --git a/contest/models.py b/contest/models.py index 9b17e6a..65a6c41 100644 --- a/contest/models.py +++ b/contest/models.py @@ -67,7 +67,7 @@ class ACMContestRank(AbstractContestRank): total_time = models.IntegerField(default=0, db_default=0) # {"23": {"is_ac": True, "ac_time": 8999, "error_number": 2, "is_first_ac": True}} # key is problem id - submission_info = JSONField(default=dict, db_default=models.Value({})) + submission_info = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) class Meta: db_table = "acm_contest_rank" @@ -84,7 +84,7 @@ class OIContestRank(AbstractContestRank): total_score = models.IntegerField(default=0, db_default=0) # {"23": 333} # key is problem id, value is current score - submission_info = JSONField(default=dict, db_default=models.Value({})) + submission_info = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) class Meta: db_table = "oi_contest_rank" diff --git a/problem/migrations/0009_alter_problem_accepted_number_and_more.py b/problem/migrations/0009_alter_problem_accepted_number_and_more.py index 7d18cde..b4c7548 100644 --- a/problem/migrations/0009_alter_problem_accepted_number_and_more.py +++ b/problem/migrations/0009_alter_problem_accepted_number_and_more.py @@ -23,7 +23,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='problem', name='flowchart_data', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='problem', @@ -43,7 +43,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='problem', name='statistic_info', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='problem', diff --git a/problem/models.py b/problem/models.py index 60ca5d4..16f3bf1 100644 --- a/problem/models.py +++ b/problem/models.py @@ -73,13 +73,13 @@ class Problem(models.Model): submission_number = models.BigIntegerField(default=0, db_default=0) accepted_number = models.BigIntegerField(default=0, db_default=0) # {JudgeStatus.ACCEPTED: 3, JudgeStatus.WRONG_ANSWER: 11}, the number means count - statistic_info = models.JSONField(default=dict, db_default=models.Value({})) + statistic_info = models.JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) share_submission = models.BooleanField(default=False, db_default=False) # 流程图相关字段 allow_flowchart = models.BooleanField(default=False, db_default=False) mermaid_code = models.TextField(null=True, blank=True) - flowchart_data = models.JSONField(default=dict, db_default=models.Value({})) + flowchart_data = models.JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) flowchart_hint = models.TextField(null=True, blank=True) show_flowchart = models.BooleanField(default=False, db_default=False) diff --git a/submission/migrations/0006_alter_submission_info_alter_submission_result_and_more.py b/submission/migrations/0006_alter_submission_info_alter_submission_result_and_more.py index 9752b0b..8114b6f 100644 --- a/submission/migrations/0006_alter_submission_info_alter_submission_result_and_more.py +++ b/submission/migrations/0006_alter_submission_info_alter_submission_result_and_more.py @@ -13,7 +13,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='submission', name='info', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), migrations.AlterField( model_name='submission', @@ -28,6 +28,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='submission', name='statistic_info', - field=models.JSONField(db_default=models.Value({}), default=dict), + field=models.JSONField(db_default=models.Value({}, output_field=models.JSONField()), default=dict), ), ] diff --git a/submission/models.py b/submission/models.py index fb2e14c..1e5fdb5 100644 --- a/submission/models.py +++ b/submission/models.py @@ -31,12 +31,12 @@ class Submission(models.Model): code = models.TextField() result = models.IntegerField(choices=JudgeStatus.choices, db_index=True, default=JudgeStatus.PENDING, db_default=JudgeStatus.PENDING) # 从JudgeServer返回的判题详情 - info = JSONField(default=dict, db_default=models.Value({})) + info = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) language = models.TextField() shared = models.BooleanField(default=False, db_default=False) # 存储该提交所用时间和内存值,方便提交列表显示 # {time_cost: "", memory_cost: "", err_info: "", score: 0} - statistic_info = JSONField(default=dict, db_default=models.Value({})) + statistic_info = JSONField(default=dict, db_default=models.Value({}, output_field=models.JSONField())) ip = models.TextField(null=True) def check_user_permission(self, user, check_share=True):