mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 02:47:10 +00:00
feat: added submissions history, formatted
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.1.6 on 2025-03-01 23:48
|
||||
# Generated by Django 5.1.6 on 2025-03-02 00:16
|
||||
|
||||
import apps.task.models
|
||||
import django.db.models.deletion
|
||||
@@ -21,6 +21,7 @@ class Migration(migrations.Migration):
|
||||
name='CompetitionTask',
|
||||
fields=[
|
||||
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
||||
('in_competition_position', models.PositiveSmallIntegerField(blank=True, null=True)),
|
||||
('title', models.CharField(max_length=50, verbose_name='заголовок')),
|
||||
('description', tinymce.models.HTMLField(max_length=300, verbose_name='описание')),
|
||||
('max_attempts', models.PositiveSmallIntegerField(blank=True, null=True)),
|
||||
@@ -57,7 +58,7 @@ class Migration(migrations.Migration):
|
||||
('content', models.FileField(upload_to=apps.task.models.CompetitionTaskSubmission.submission_content_upload_to)),
|
||||
('stdout', models.FileField(blank=True, null=True, upload_to=apps.task.models.CompetitionTaskSubmission.submission_stdout_upload_to)),
|
||||
('result', models.JSONField(blank=True, default=None, null=True)),
|
||||
('earned_points', models.IntegerField()),
|
||||
('earned_points', models.IntegerField(blank=True, null=True)),
|
||||
('reviewed_at', models.DateTimeField(blank=True, null=True)),
|
||||
('timestamp', models.DateTimeField(auto_now_add=True)),
|
||||
('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='task.competitiontask')),
|
||||
|
||||
@@ -18,6 +18,9 @@ class CompetitionTask(BaseModel):
|
||||
def answer_file_upload_to(instance, filename) -> str:
|
||||
return f"/tasks/{instance.id}/answer/{uuid4()}/filename"
|
||||
|
||||
in_competition_position = models.PositiveSmallIntegerField(
|
||||
null=True, blank=True
|
||||
)
|
||||
competition = models.ForeignKey(Competition, on_delete=models.CASCADE)
|
||||
title = models.CharField(verbose_name="заголовок", max_length=50)
|
||||
description = HTMLField(verbose_name="описание", max_length=300)
|
||||
@@ -109,7 +112,7 @@ class CompetitionTaskSubmission(BaseModel):
|
||||
# - code: {"correct": boolean}
|
||||
result = models.JSONField(default=None, null=True, blank=True)
|
||||
# just more readable result representation, maybe will be calcuated somehow more complex depends on criteria
|
||||
earned_points = models.IntegerField()
|
||||
earned_points = models.IntegerField(null=True, blank=True)
|
||||
|
||||
reviewed_at = models.DateTimeField(null=True, blank=True)
|
||||
timestamp = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
Reference in New Issue
Block a user