from django.db import models from django.contrib.auth.models import User from django.utils import timezone import os class Problems(models.Model): Name = models.CharField(max_length=100) Description = models.CharField(max_length=1000) Image = models.FileField(upload_to='images/',default='images/blank.png') Price = models.IntegerField(default=1) TimeLimit = models.IntegerField(default=1) def upload_path(self,filename): if self.User and self.Problem: file_ext =filename[filename.rindex('.')+1:] return f"resolvs/{self.User.id}/{self.Problem.id}.{file_ext}" else: return f"resolvs/{filename}" class Resolvs(models.Model): SrcFile = models.FileField(upload_to=upload_path, default=None) User = models.ForeignKey(User, on_delete=models.PROTECT, default=None) DateTime = models.DateTimeField(auto_now_add=True) Problem = models.ForeignKey(Problems, on_delete=models.PROTECT, default=None) Status = models.IntegerField(default=0) Message = models.CharField(max_length=100,default="") Time = models.IntegerField(default=0) CodeLen = models.IntegerField(default=0) def filename(self): return self.SrcFile.name class Tests(models.Model): Problem = models.ForeignKey(Problems, on_delete=models.PROTECT) Input = models.CharField(max_length=1000) Output = models.CharField(max_length=1000)