migrate to postgres json field

This commit is contained in:
zema1
2017-10-11 21:43:29 +08:00
parent 93bd77d8d8
commit 080ecf1bcf
15 changed files with 315 additions and 27 deletions

View File

@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-10-11 12:14
from __future__ import unicode_literals
import django.contrib.postgres.fields.jsonb
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('submission', '0007_auto_20170923_1318'),
]
operations = [
migrations.AlterField(
model_name='submission',
name='info',
field=django.contrib.postgres.fields.jsonb.JSONField(default=dict),
),
migrations.AlterField(
model_name='submission',
name='statistic_info',
field=django.contrib.postgres.fields.jsonb.JSONField(default=dict),
),
]

View File

@@ -1,5 +1,5 @@
from django.db import models
from jsonfield import JSONField
from utils.models import JSONField
from account.models import AdminType
from problem.models import Problem
from contest.models import Contest
@@ -31,12 +31,12 @@ class Submission(models.Model):
code = models.TextField()
result = models.IntegerField(db_index=True, default=JudgeStatus.PENDING)
# 判题结果的详细信息
info = JSONField(default={})
info = JSONField(default=dict)
language = models.CharField(max_length=20)
shared = models.BooleanField(default=False)
# 存储该提交所用时间和内存值,方便提交列表显示
# {time_cost: "", memory_cost: "", err_info: "", score: 0}
statistic_info = JSONField(default={})
statistic_info = JSONField(default=dict)
def check_user_permission(self, user):
return self.user_id == user.id or \