diff --git a/account/models.py b/account/models.py index 1ba842dc..6c849ddb 100644 --- a/account/models.py +++ b/account/models.py @@ -2,7 +2,7 @@ from django.db import models from django.contrib.auth.models import AbstractBaseUser -from utils.models import JsonField +from jsonfield import JSONField class AdminGroup(models.Model): @@ -33,7 +33,7 @@ class User(AbstractBaseUser): # 0代表不是管理员 1是普通管理员 2是超级管理员 admin_type = models.IntegerField(default=0) # JSON字典用来表示该用户的问题的解决状态 1为ac,2为正在进行 - problems_status = JsonField(default={}) + problems_status = JSONField(default={}) # 找回密码用的token # reset_password_token = models.CharField(max_length=40, blank=True, null=True) diff --git a/contest/models.py b/contest/models.py index 1897eb76..3ef70308 100644 --- a/contest/models.py +++ b/contest/models.py @@ -5,7 +5,8 @@ from django.utils.timezone import now from account.models import User from problem.models import AbstractProblem from group.models import Group -from utils.models import RichTextField, JsonField +from utils.models import RichTextField +from jsonfield import JSONField from judge.judger.result import result @@ -117,7 +118,7 @@ class ContestRank(models.Model): total_time = models.IntegerField(default=0) # 数据结构{23: {"is_ac": True, "ac_time": 8999, "error_number": 2, "is_first_ac": True}} # key 是比赛题目的id - submission_info = JsonField(default={}) + submission_info = JSONField(default={}) def update_rank(self, submission): if not submission.contest_id or submission.contest_id != self.contest_id: diff --git a/dockerfiles/oj_web_server/requirements.txt b/dockerfiles/oj_web_server/requirements.txt index b22146d0..a6cf75ff 100644 --- a/dockerfiles/oj_web_server/requirements.txt +++ b/dockerfiles/oj_web_server/requirements.txt @@ -9,4 +9,5 @@ gunicorn coverage django-extensions supervisor -pillow \ No newline at end of file +pillow +jsonfield \ No newline at end of file