class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('id', models.CharField(blank=True, default=apps.core.models.generate_ulid, editable=False, max_length=26, primary_key=True, serialize=False, unique=True)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated at')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='Email address')), ('is_active', models.BooleanField(default=True, verbose_name='Active')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('first_name', models.CharField(blank=True, max_length=40, null=True)), ('last_name', models.CharField(blank=True, max_length=80, null=True)), ('username', models.CharField(max_length=255, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='Username')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'ordering': ['last_name', 'first_name'], }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, 'verbose_name': 'user', 'verbose_name_plural': 'users', }, managers=[ ('objects', apps.core.models.UserManager()), ], ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('alias', models.CharField(blank=True, max_length=30, unique=True)), ('role', models.CharField(blank=True, max_length=255)), ('birth_date', models.DateField(blank=True, null=True)), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='BaseUser', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('email', models.EmailField(max_length=100, null=True, unique=True)), ('username', models.CharField(max_length=100, unique=True)), ('user_type', models.CharField(choices=[('normal', 'normal'), ('admin', 'admin')], default='normal', max_length=100)), ('slug', models.SlugField(unique=True)), ('photo', models.URLField(blank=True, default='', null=True)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'User', }, ), migrations.CreateModel( name='BaseUserProfile', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('fullname', models.CharField(blank=True, max_length=20, null=True, verbose_name='Fullname')), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Profile', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('data', '0001_initial'), ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='Pixeler', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='Analysis', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('description', models.TextField(blank=True, verbose_name='Description')), ('secondary_data', models.FileField(upload_to=apps.core.models.Analysis.secondary_data_upload_to, verbose_name='Secondary data')), ('notebook', models.FileField(blank=True, help_text='Upload your Jupiter Notebook or any other document helping to understand your analysis', upload_to=apps.core.models.Analysis.notebook_upload_to, verbose_name='Notebook')), ('created_at', models.DateTimeField(auto_now_add=True)), ('saved_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Analysis', 'verbose_name_plural': 'Analyses', }, ), migrations.CreateModel( name='Experiment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('description', models.TextField(blank=True, verbose_name='Description')), ('released_at', models.DateField(verbose_name='Release date')), ('created_at', models.DateTimeField(auto_now_add=True)), ('saved_at', models.DateTimeField(auto_now=True)), ('entries', models.ManyToManyField(related_name='experiments', related_query_name='experiment', to='data.Entry')), ], options={ 'verbose_name': 'Experiment', 'verbose_name_plural': 'Experiments', }, ), migrations.CreateModel( name='OmicsArea', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('lft', models.PositiveIntegerField(db_index=True, editable=False)), ('rght', models.PositiveIntegerField(db_index=True, editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(db_index=True, editable=False)), ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='core.OmicsArea')), ], options={ 'verbose_name': 'Omics area', 'verbose_name_plural': 'Omics areas', }, ), migrations.CreateModel( name='OmicsUnit', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('status', models.PositiveSmallIntegerField(choices=[(1, 'Dubious'), (2, 'Exists'), (3, 'Invalid'), (4, 'Validated')], default=1, verbose_name='Status')), ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.Entry')), ], options={ 'verbose_name': 'Omics Unit', 'verbose_name_plural': 'Omics Units', }, ), migrations.CreateModel( name='OmicsUnitType', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ], options={ 'verbose_name': 'Omics unit type', 'verbose_name_plural': 'Omics unit types', }, ), migrations.CreateModel( name='Pixel', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('value', models.FloatField(help_text='The pixel value', verbose_name='Value')), ('quality_score', models.FloatField(blank=True, help_text='Could be a p-value, confidence index, etc.', null=True, verbose_name='Quality score')), ('analysis', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.Analysis')), ('omics_unit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.OmicsUnit')), ], options={ 'verbose_name': 'Pixel', 'verbose_name_plural': 'Pixels', }, ), migrations.CreateModel( name='Species', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='species', related_query_name='species', to='data.Entry')), ], options={ 'verbose_name': 'Species', 'verbose_name_plural': 'Species', }, ), migrations.CreateModel( name='Strain', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('species', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='strains', related_query_name='strain', to='core.Species')), ], options={ 'verbose_name': 'Strain', 'verbose_name_plural': 'Strains', }, ), migrations.CreateModel( name='Tag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ('slug', models.SlugField()), ('count', models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')), ('protected', models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')), ], options={ 'ordering': ('name',), 'abstract': False, }, bases=(tagulous.models.models.BaseTagModel, models.Model), ), migrations.AlterUniqueTogether( name='tag', unique_together=set([('slug',)]), ), migrations.AddField( model_name='omicsunit', name='strain', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.Strain'), ), migrations.AddField( model_name='omicsunit', name='type', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.OmicsUnitType'), ), migrations.AddField( model_name='experiment', name='omics_area', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experiments', related_query_name='experiment', to='core.OmicsArea'), ), migrations.AddField( model_name='experiment', name='tags', field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'), ), migrations.AddField( model_name='analysis', name='experiments', field=models.ManyToManyField(related_name='analyses', related_query_name='analysis', to='core.Experiment'), ), migrations.AddField( model_name='analysis', name='pixeler', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analyses', related_query_name='analysis', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='analysis', name='tags', field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'), ), migrations.AlterUniqueTogether( name='strain', unique_together=set([('name', 'species')]), ), migrations.AlterUniqueTogether( name='omicsunit', unique_together=set([('reference', 'strain', 'type')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='Users', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='Почта')), ('account_type', models.IntegerField(choices=[(0, 'Root'), (1, 'Администратор'), (2, 'Учитель'), (3, 'Ученик')], default=3, verbose_name='Тип аккаунта')), ('is_active', models.BooleanField(default=True, verbose_name='Активный')), ('is_staff', models.BooleanField(default=False, verbose_name='Администратор')), ('first_name', models.CharField(max_length=100, verbose_name='Имя')), ('second_name', models.CharField(blank=True, default='', max_length=100, verbose_name='Отчество')), ('surname', models.CharField(max_length=100, verbose_name='Фамилия')), ('registration_date', models.DateField(auto_now_add=True, null=True, verbose_name='Дата регистрации')), ], options={ 'verbose_name': 'Пользователь', 'verbose_name_plural': 'Пользователи', 'permissions': [('edit_news', 'Может редактировать статьи в новостном блоке.') ], }, managers=[ ('objects', apps.core.users.manager.UserManager()), ], ), migrations.CreateModel( name='AdminMessages', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(auto_now_add=True, verbose_name='Время отправки')), ('subject', models.CharField(max_length=100, verbose_name='Тема сообщения')), ('content', models.TextField(max_length=4000, verbose_name='Текст сообщения')), ('is_read', models.BooleanField(default=False, verbose_name='Прочитанное')), ], options={ 'verbose_name': 'Сообщение администратору', 'verbose_name_plural': 'Сообщения администратору', 'ordering': ['date', 'subject'], }, ), migrations.CreateModel( name='AverageValues', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('weights_x_values', models.IntegerField( verbose_name='Сумма произведений весов и значений оценок') ), ('weights_sum', models.IntegerField(verbose_name='Сумма весов оценок')), ('grades_number', models.IntegerField(verbose_name='Количество оценок')), ('grades_sum', models.IntegerField(verbose_name='Сумма значений оценок')), ('missed', models.IntegerField( default=0, verbose_name='Количество пропущенных уроков')), ], options={ 'verbose_name': 'Данные об оценках учеников', }, ), migrations.CreateModel( name='Controls', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=150, verbose_name='Вид работы')), ('weight', models.FloatField(default=1, verbose_name='Коэффицент')), ('notify', models.BooleanField(default=False, verbose_name='Оповещать учеников')), ('default', models.BooleanField(default=False, verbose_name='Вид работы по умолчанию')), ], options={ 'verbose_name': 'Вид работы', 'verbose_name_plural': 'Виды работ', }, ), migrations.CreateModel( name='Groups', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], options={ 'verbose_name': 'Группа', 'verbose_name_plural': 'Группы', }, ), migrations.CreateModel( name='Homework', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content', models.TextField(blank=True, verbose_name='Задание')), ], options={ 'verbose_name': 'Домашнее задание', 'verbose_name_plural': 'Домашние задания', }, ), migrations.CreateModel( name='Quarters', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('number', models.IntegerField(choices=[(1, 'I'), (2, 'II'), (3, 'III'), (4, 'IV')], unique=True, verbose_name='Четверть')), ('begin', models.DateField(verbose_name='Начало четверти')), ('end', models.DateField(verbose_name='Конец четверти')), ], options={ 'verbose_name': 'Четверть', 'verbose_name_plural': 'Четверти', 'ordering': ['number'], }, ), migrations.CreateModel( name='Subjects', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True, verbose_name='Название')), ('icon', models.ImageField(blank=True, upload_to='subject_icons/', verbose_name='Иконка')), ], options={ 'verbose_name': 'Предмет', 'verbose_name_plural': 'Предметы', 'ordering': ['name'], }, ), migrations.CreateModel( name='Admins', fields=[ ('account', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='admin', serialize=False, to='core.users', verbose_name='Пользователь')), ], options={ 'verbose_name': 'Администратор', 'verbose_name_plural': 'Администраторы', }, ), migrations.CreateModel( name='Students', fields=[ ('account', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='student', serialize=False, to='core.users', verbose_name='Пользователь')), ('president', models.BooleanField(default=False, verbose_name='Староста')), ], options={ 'verbose_name': 'Ученик', 'verbose_name_plural': 'Ученики', 'ordering': ['klass'], }, ), migrations.CreateModel( name='Teachers', fields=[ ('account', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='teacher', serialize=False, to='core.users', verbose_name='Пользователь')), ], options={ 'verbose_name': 'Учитель', 'verbose_name_plural': 'Учителя', }, ), migrations.CreateModel( name='Lessons', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateField(verbose_name='Дата')), ('theme', models.CharField(blank=True, max_length=120, verbose_name='Тема')), ('is_planned', models.BooleanField(default=False, verbose_name='Запланирован')), ('control', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.controls', verbose_name='Контроль')), ('group', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.groups', verbose_name='Группа')), ('quarter', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.quarters', verbose_name='Четверть')), ], options={ 'verbose_name': 'Урок', 'verbose_name_plural': 'Уроки', 'ordering': ['date'], }, ), migrations.CreateModel( name='Klasses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('number', models.IntegerField(choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11)], verbose_name='Класс')), ('letter', models.CharField(choices=[('А', 'А'), ('Б', 'Б'), ('В', 'В'), ('Г', 'Г'), ('Д', 'Д'), ('Е', 'Е'), ('Ж', 'Ж'), ('З', 'З'), ('И', 'И'), ('К', 'К')], max_length=2, verbose_name='Буква')), ('subjects', models.ManyToManyField(to='core.Subjects', verbose_name='Предметы')), ], options={ 'verbose_name': 'Класс', 'verbose_name_plural': 'Классы', 'ordering': ['number', 'letter'], }, ), migrations.CreateModel( name='HomeworkFiles', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models.FileField(upload_to=apps.core.models.homework_upload, verbose_name='Файл')), ('homework', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='core.homework')), ], ), migrations.AddField( model_name='homework', name='lesson', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='core.lessons', verbose_name='Урок'), ), migrations.AddField( model_name='groups', name='klass', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='core.klasses', verbose_name='Класс'), ), migrations.AddField( model_name='groups', name='subject', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='core.subjects', verbose_name='Предмет'), ), migrations.CreateModel( name='Grades', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('amount', models.IntegerField(default=None, null=True, verbose_name='Балл')), ('comment', models.TextField(blank=True, default='', verbose_name='Комментарий')), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.lessons', verbose_name='Урок')), ], options={ 'verbose_name_plural': 'Оценки', 'ordering': ['lesson'], }, ), migrations.AddConstraint( model_name='controls', constraint=models.UniqueConstraint( condition=models.Q(default=True), fields=('default', ), name='unique_default_control'), ), migrations.AddField( model_name='averagevalues', name='subject', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='core.subjects'), ), migrations.AddField( model_name='adminmessages', name='sender', field=models.ForeignKey( default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Отправитель'), ), migrations.AddField( model_name='users', name='groups', field=models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'), ), migrations.AddField( model_name='users', name='user_permissions', field=models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), ), migrations.AddField( model_name='teachers', name='subjects', field=models.ManyToManyField(to='core.Subjects', verbose_name='Предметы'), ), migrations.AddField( model_name='students', name='klass', field=models.ForeignKey( blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.klasses', verbose_name='Класс'), ), migrations.AddField( model_name='klasses', name='head_teacher', field=models.OneToOneField( null=True, on_delete=django.db.models.deletion.PROTECT, related_name='klass', to='core.teachers', verbose_name='Классный руководитель'), ), migrations.AddField( model_name='klasses', name='teachers', field=models.ManyToManyField(related_name='klasses', to='core.Teachers', verbose_name='Учителя'), ), migrations.AddField( model_name='groups', name='students', field=models.ManyToManyField(to='core.Students', verbose_name='Отображаемые ученики'), ), migrations.AddField( model_name='grades', name='student', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='core.students', verbose_name='Ученик'), ), migrations.AddField( model_name='averagevalues', name='student', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='average', to='core.students'), ), migrations.AlterUniqueTogether( name='klasses', unique_together={('number', 'letter')}, ), migrations.AlterUniqueTogether( name='groups', unique_together={('klass', 'subject')}, ), migrations.AlterUniqueTogether( name='averagevalues', unique_together={('student', 'subject')}, ), ]