dump
This commit is contained in:
@@ -10,3 +10,4 @@ from Main.models.progress import Progress
|
||||
from Main.models.solution_file import SolutionFile
|
||||
from Main.models.friendship import Friendship
|
||||
from Main.models.language_apply import LanguageApply
|
||||
from Main.models.dump import Dump
|
||||
|
25
Main/models/dump.py
Normal file
25
Main/models/dump.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
|
||||
from .mixins import FileStorageMixin
|
||||
|
||||
|
||||
class Dump(FileStorageMixin, models.Model):
|
||||
timestamp = models.DateTimeField(default=timezone.now)
|
||||
fs_id = models.IntegerField(null=True)
|
||||
executor = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
task = models.ForeignKey("Task", on_delete=models.CASCADE, null=True)
|
||||
|
||||
@property
|
||||
def ready(self):
|
||||
return self.fs_id is not None
|
||||
|
||||
@property
|
||||
def str_date(self):
|
||||
return self.timestamp.strftime("%Y-%m-%dT%H:%M:%S")
|
||||
|
||||
@property
|
||||
def filename(self):
|
||||
if self.task is not None:
|
||||
return f"dump-task-{self.task.id}-{self.str_date}"
|
@@ -2,6 +2,7 @@ from django.contrib.postgres.fields import ArrayField
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from Main.models.dump import Dump
|
||||
from Main.models.extrafile import ExtraFile
|
||||
|
||||
|
||||
@@ -21,6 +22,10 @@ class Task(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@property
|
||||
def dumps(self):
|
||||
return Dump.objects.filter(task=self).order_by("-timestamp")
|
||||
|
||||
@property
|
||||
def files(self):
|
||||
return ExtraFile.objects.filter(task=self, is_test=False)
|
||||
|
Reference in New Issue
Block a user