diff --git a/contest/models.py b/contest/models.py index fc863ff..95c97be 100644 --- a/contest/models.py +++ b/contest/models.py @@ -1,4 +1,6 @@ # coding=utf-8 +import logging + from django.db import models from django.utils.timezone import now @@ -20,6 +22,9 @@ CONTEST_ENDED = -1 CONTEST_UNDERWAY = 0 +logger = logging.getLogger("app_info") + + class Contest(models.Model): title = models.CharField(max_length=40, unique=True) description = RichTextField() @@ -91,6 +96,10 @@ class ContestRank(models.Model): if not submission.contest_id or submission.contest_id != self.contest_id: raise ValueError("Error submission type") + if submission.result == result["system_error"]: + logger.warning("submission " + submission.id + " result is system error, update rank operation is ignored") + return + # 这道题以前提交过 if str(submission.problem_id) in self.submission_info: info = self.submission_info[str(submission.problem_id)]