blank true

This commit is contained in:
Egor Matveev 2022-04-08 00:19:13 +03:00
parent cd6b19a4ea
commit 28f29fa610
9 changed files with 154 additions and 23 deletions

View File

@ -0,0 +1,131 @@
# Generated by Django 3.2.4 on 2022-04-07 21:18
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('Main', '0031_userinfo_vk_user_id'),
]
operations = [
migrations.AlterField(
model_name='dump',
name='fs_id',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='dump',
name='task',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='Main.task'),
),
migrations.AlterField(
model_name='extrafile',
name='fs_id',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='extrafile',
name='is_sample',
field=models.BooleanField(blank=True, null=True),
),
migrations.AlterField(
model_name='extrafile',
name='is_test',
field=models.BooleanField(blank=True, null=True),
),
migrations.AlterField(
model_name='extrafile',
name='readable',
field=models.BooleanField(blank=True, null=True),
),
migrations.AlterField(
model_name='extrafile',
name='test_number',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='group',
name='access_token',
field=models.CharField(blank=True, max_length=30, null=True),
),
migrations.AlterField(
model_name='group',
name='creator',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='progress',
name='finished_time',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AlterField(
model_name='set',
name='creator',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='set',
name='end_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='set',
name='start_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='solution',
name='set',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='Main.set'),
),
migrations.AlterField(
model_name='solution',
name='test',
field=models.IntegerField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='task',
name='creator',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='userinfo',
name='code',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='userinfo',
name='favourite_language_id',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='userinfo',
name='name',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='userinfo',
name='profile_picture_fs_id',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='userinfo',
name='surname',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='userinfo',
name='user',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='userinfo',
name='vk_user_id',
field=models.IntegerField(blank=True, null=True),
),
]

View File

@ -7,9 +7,9 @@ from .mixins import FileStorageMixin
class Dump(FileStorageMixin, models.Model):
timestamp = models.DateTimeField(default=timezone.now)
fs_id = models.IntegerField(null=True)
fs_id = models.IntegerField(null=True, blank=True)
executor = models.ForeignKey(User, on_delete=models.CASCADE)
task = models.ForeignKey("Task", on_delete=models.CASCADE, null=True)
task = models.ForeignKey("Task", on_delete=models.CASCADE, null=True, blank=True)
@property
def ready(self):

View File

@ -7,11 +7,11 @@ from .mixins import FileStorageMixin
class ExtraFile(FileStorageMixin, models.Model):
task = models.ForeignKey("Task", on_delete=models.CASCADE)
filename = models.TextField()
is_test = models.BooleanField(null=True)
is_sample = models.BooleanField(null=True)
readable = models.BooleanField(null=True)
test_number = models.IntegerField(null=True)
fs_id = models.IntegerField(null=True)
is_test = models.BooleanField(null=True, blank=True)
is_sample = models.BooleanField(null=True, blank=True)
readable = models.BooleanField(null=True, blank=True)
test_number = models.IntegerField(null=True, blank=True)
fs_id = models.IntegerField(null=True, blank=True)
class Meta:
indexes = [

View File

@ -10,10 +10,10 @@ from Main.models.set import Set
class Group(models.Model):
name = models.TextField()
sets = models.ManyToManyField(Set)
creator = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
creator = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL)
users = models.ManyToManyField(User, related_name="user_groups")
editors = ArrayField(models.TextField(), default=list)
access_token = models.CharField(max_length=30, null=True)
access_token = models.CharField(max_length=30, null=True, blank=True)
@property
def available_sets(self):

View File

@ -11,7 +11,7 @@ class Progress(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
task = models.ForeignKey(Task, on_delete=models.CASCADE)
start_time = models.DateTimeField(default=timezone.now)
finished_time = models.DateTimeField(null=True)
finished_time = models.DateTimeField(null=True, blank=True)
score = models.IntegerField(default=0)
finished = models.BooleanField(default=False)

View File

@ -13,10 +13,10 @@ from SprintLib.language import languages
class Set(models.Model):
name = models.TextField()
public = models.BooleanField(default=False)
creator = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
creator = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)
opened = models.BooleanField(default=False)
start_time = models.DateTimeField(default=None, null=True)
end_time = models.DateTimeField(default=None, null=True)
start_time = models.DateTimeField(default=None, null=True, blank=True)
end_time = models.DateTimeField(default=None, null=True, blank=True)
editors = ArrayField(models.TextField(), default=list)
languages = ArrayField(models.IntegerField(), default=list)
auto_add_new_languages = models.BooleanField(default=True)

View File

@ -21,8 +21,8 @@ class Solution(models.Model):
language_id = models.IntegerField(default=0)
time_sent = models.DateTimeField(default=timezone.now)
result = models.TextField(default=CONSTS["in_queue_status"])
test = models.IntegerField(default=None, null=True)
set = models.ForeignKey(Set, null=True, on_delete=models.SET_NULL)
test = models.IntegerField(default=None, null=True, blank=True)
set = models.ForeignKey(Set, null=True, blank=True, on_delete=models.SET_NULL)
extras = JSONField(default=dict)
class Meta:

View File

@ -17,7 +17,7 @@ class Task(models.Model):
specifications = models.TextField(default="")
time_limit = models.IntegerField(default=10000)
time_estimation = models.IntegerField(default=5)
creator = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
creator = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)
editors = ArrayField(models.TextField(), default=list)
allow_sharing = models.BooleanField(default=False)
changes = JSONField(default=list)

View File

@ -13,19 +13,19 @@ from SprintLib.language import languages
class UserInfo(models.Model):
surname = models.TextField(null=True)
name = models.TextField(null=True)
surname = models.TextField(null=True, blank=True)
name = models.TextField(null=True, blank=True)
last_request = models.DateTimeField(default=timezone.now)
profile_picture_fs_id = models.IntegerField(null=True)
favourite_language_id = models.IntegerField(null=True)
profile_picture_fs_id = models.IntegerField(null=True, blank=True)
favourite_language_id = models.IntegerField(null=True, blank=True)
rating = models.IntegerField(default=0)
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
telegram_chat_id = models.TextField(default="")
vk_user_id = models.IntegerField(null=True)
vk_user_id = models.IntegerField(null=True, blank=True)
notification_solution_result = models.BooleanField(default=False)
notification_friends = models.BooleanField(default=False)
notification_messages = models.BooleanField(default=False)
code = models.IntegerField(null=True)
code = models.IntegerField(null=True, blank=True)
verified = models.BooleanField(default=False)
teacher = models.BooleanField(default=False)