mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-22 23:17:09 +00:00
add attachments model
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Generated by Django 5.1.6 on 2025-03-02 08:50
|
||||
|
||||
import apps.task.models
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('task', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='competitiontask',
|
||||
name='attachments',
|
||||
field=models.ManyToManyField(blank=True, related_name='tasks_attachments', to='task.competitiontaskattachment'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='competitiontaskattachment',
|
||||
name='bind_at',
|
||||
field=models.FilePathField(verbose_name='путь сохранения'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='competitiontaskattachment',
|
||||
name='file',
|
||||
field=models.FileField(upload_to=apps.task.models.CompetitionTaskAttachment.file_upload_at, verbose_name='файл'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='competitiontaskattachment',
|
||||
name='public',
|
||||
field=models.BooleanField(default=False, verbose_name='публичный'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='competitiontaskattachment',
|
||||
name='task',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='task.competitiontask', verbose_name='задание'),
|
||||
),
|
||||
]
|
||||
@@ -48,6 +48,9 @@ class CompetitionTask(BaseModel):
|
||||
default="stdout",
|
||||
)
|
||||
|
||||
attachments = models.ManyToManyField("CompetitionTaskAttachment", blank=True,
|
||||
related_name="tasks_attachments")
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
@@ -71,10 +74,12 @@ class CompetitionTaskAttachment(BaseModel):
|
||||
def file_upload_at(instance, filename):
|
||||
return f"/attachment/{instance.id}/file"
|
||||
|
||||
task = models.ForeignKey(CompetitionTask, on_delete=models.CASCADE)
|
||||
file = models.FileField(upload_to=file_upload_at)
|
||||
bind_at = models.FilePathField()
|
||||
public = models.BooleanField(default=False)
|
||||
task = models.ForeignKey(CompetitionTask, on_delete=models.CASCADE,
|
||||
verbose_name="задание")
|
||||
file = models.FileField(upload_to=file_upload_at,
|
||||
verbose_name="файл")
|
||||
bind_at = models.FilePathField(verbose_name="путь сохранения")
|
||||
public = models.BooleanField(default=False, verbose_name="публичный")
|
||||
|
||||
|
||||
class CompetitionTaskSubmission(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user