Первоначальный залив проекта

This commit is contained in:
tertelius
2025-10-19 22:34:08 +03:00
commit 094d716330
313 changed files with 38846 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
# Generated by Django 4.1.1 on 2022-09-20 08:42
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Groups',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(db_index=True, max_length=50, unique=True, verbose_name='Обозначение')),
('graduation_at', models.CharField(max_length=4, verbose_name='Год выпуска')),
],
options={
'verbose_name': 'Группа',
'verbose_name_plural': 'Группы',
'ordering': ['-graduation_at', 'title'],
},
),
migrations.CreateModel(
name='Worker',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('surname', models.CharField(max_length=30, verbose_name='Фамилия')),
('name', models.CharField(max_length=20, verbose_name='Имя')),
('patronymic', models.CharField(blank=True, max_length=25, verbose_name='Отчество')),
('birthdate', models.DateField(blank=True, verbose_name='День рождения')),
('gender', models.CharField(choices=[('муж.', 'Мужчина'), ('жен.', 'Женщина')], default='муж.', max_length=4, verbose_name='Пол')),
('phone', models.CharField(blank=True, max_length=20, verbose_name='Номер телефона')),
('e_mail', models.CharField(blank=True, max_length=70, verbose_name='Электронная почта')),
('added_at', models.DateTimeField(auto_now_add=True, verbose_name='Добавлен')),
('slug', models.SlugField(allow_unicode=True, unique=True)),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Students',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('surname', models.CharField(max_length=30, verbose_name='Фамилия')),
('name', models.CharField(max_length=20, verbose_name='Имя')),
('patronymic', models.CharField(blank=True, max_length=25, verbose_name='Отчество')),
('birthdate', models.DateField(blank=True, verbose_name='День рождения')),
('gender', models.CharField(choices=[('муж.', 'Мужчина'), ('жен.', 'Женщина')], default='муж.', max_length=4, verbose_name='Пол')),
('phone', models.CharField(blank=True, max_length=20, verbose_name='Номер телефона')),
('e_mail', models.CharField(blank=True, max_length=70, verbose_name='Электронная почта')),
('added_at', models.DateTimeField(auto_now_add=True, verbose_name='Добавлен')),
('slug', models.SlugField(allow_unicode=True, unique=True)),
('photo', models.ImageField(upload_to='photos/%Y/%m/%d/', verbose_name='Фото')),
('group', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.groups', verbose_name='Группа')),
],
options={
'verbose_name': 'Студента',
'verbose_name_plural': 'Студенты',
'ordering': ['group', 'surname', 'name'],
},
),
migrations.CreateModel(
name='Emploees',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('surname', models.CharField(max_length=30, verbose_name='Фамилия')),
('name', models.CharField(max_length=20, verbose_name='Имя')),
('patronymic', models.CharField(blank=True, max_length=25, verbose_name='Отчество')),
('birthdate', models.DateField(blank=True, verbose_name='День рождения')),
('gender', models.CharField(choices=[('муж.', 'Мужчина'), ('жен.', 'Женщина')], default='муж.', max_length=4, verbose_name='Пол')),
('phone', models.CharField(blank=True, max_length=20, verbose_name='Номер телефона')),
('e_mail', models.CharField(blank=True, max_length=70, verbose_name='Электронная почта')),
('added_at', models.DateTimeField(auto_now_add=True, verbose_name='Добавлен')),
('slug', models.SlugField(allow_unicode=True, unique=True)),
('photo', models.ImageField(upload_to='photos/%Y/%m/%d/', verbose_name='Фото')),
('group', models.ManyToManyField(to='main.groups', verbose_name='Группы')),
],
options={
'verbose_name': 'Сотрудника',
'verbose_name_plural': 'Сотрудники',
'ordering': ['surname', 'name'],
},
),
]

View File

@@ -0,0 +1,27 @@
# Generated by Django 4.1.1 on 2022-09-20 14:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Contracts',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('number', models.CharField(max_length=20, unique=True, verbose_name='Номер договора')),
('start_date', models.DateField(verbose_name='Начало обучения')),
('end_date', models.DateField(verbose_name='Окончание обучения')),
],
options={
'verbose_name': 'Договор',
'verbose_name_plural': 'Договоры',
'ordering': ['-number'],
},
),
]

View File

@@ -0,0 +1,55 @@
# Generated by Django 4.1.1 on 2022-09-20 15:20
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0002_contracts'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='client',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='main.students', verbose_name='Клиент'),
preserve_default=False,
),
migrations.AddField(
model_name='emploees',
name='name_genitive',
field=models.CharField(blank=True, max_length=50, verbose_name='Имя в родительном'),
),
migrations.AddField(
model_name='emploees',
name='patronymic_genitive',
field=models.CharField(blank=True, max_length=50, verbose_name='Отчество в родительном'),
),
migrations.AddField(
model_name='emploees',
name='surname_genitive',
field=models.CharField(blank=True, max_length=50, verbose_name='Фамилия в родительном'),
),
migrations.AlterField(
model_name='emploees',
name='group',
field=models.ManyToManyField(blank=True, to='main.groups', verbose_name='Группы'),
),
migrations.AlterField(
model_name='emploees',
name='photo',
field=models.ImageField(blank=True, upload_to='photos/%Y/%m/%d/', verbose_name='Фото'),
),
migrations.CreateModel(
name='Structures',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('warrant', models.CharField(max_length=50, verbose_name='Довереность (№, от)')),
('responsible_ido', models.CharField(max_length=50, verbose_name='Ответственный от ИДО')),
('responsible_def', models.CharField(max_length=50, verbose_name='Ответственный от ДЭиФ')),
('director_ido', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.emploees', verbose_name='Директор ИДО')),
],
),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 4.1.1 on 2022-09-20 15:32
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0003_contracts_client_emploees_name_genitive_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='structures',
options={'ordering': [], 'verbose_name': 'Структуру', 'verbose_name_plural': 'Структуры'},
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 4.1.1 on 2022-09-20 17:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0004_alter_structures_options'),
]
operations = [
migrations.RemoveField(
model_name='structures',
name='warrant',
),
migrations.AddField(
model_name='structures',
name='warrant_date',
field=models.DateField(default='2022-05-05', verbose_name='Довереность от'),
),
migrations.AddField(
model_name='structures',
name='warrant_number',
field=models.CharField(default=1, max_length=15, verbose_name='Довереность №'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,20 @@
# Generated by Django 4.1.1 on 2022-09-20 18:01
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0005_remove_structures_warrant_structures_warrant_date_and_more'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='structure',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='main.structures', verbose_name='Текущая структура'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,22 @@
# Generated by Django 4.1.1 on 2022-09-23 18:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0006_contracts_structure'),
]
operations = [
migrations.AlterModelOptions(
name='structures',
options={'ordering': ['-warrant_date'], 'verbose_name': 'Структуру', 'verbose_name_plural': 'Структуры'},
),
migrations.AlterField(
model_name='students',
name='photo',
field=models.ImageField(blank=True, upload_to='photos/%Y/%m/%d/', verbose_name='Фото'),
),
]

View File

@@ -0,0 +1,59 @@
# Generated by Django 4.1.1 on 2022-10-10 09:16
import autoslug.fields
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0007_alter_structures_options_alter_students_photo'),
]
operations = [
migrations.CreateModel(
name='Diplomas',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('series', models.CharField(max_length=4, verbose_name='Серия')),
('number', models.CharField(max_length=20, verbose_name='Номер')),
('issued_date', models.DateField(verbose_name='Дата выдачи')),
],
),
migrations.CreateModel(
name='Passports',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('series', models.CharField(max_length=4, verbose_name='Серия')),
('number', models.CharField(max_length=20, verbose_name='Номер')),
('issued_date', models.DateField(verbose_name='Дата выдачи')),
('issued_department', models.CharField(max_length=50, verbose_name='Наименование подразделения')),
('address_registration', models.TextField(verbose_name='Адрес проживания')),
],
),
migrations.AlterModelOptions(
name='students',
options={'ordering': ['surname', 'name'], 'verbose_name': 'Студента', 'verbose_name_plural': 'Студенты'},
),
migrations.AddField(
model_name='students',
name='snils',
field=models.CharField(blank=True, max_length=50, verbose_name='Номер СНИЛС'),
),
migrations.AlterField(
model_name='students',
name='slug',
field=autoslug.fields.AutoSlugField(editable=True, populate_from='title'),
),
migrations.AddField(
model_name='students',
name='diploma',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.diplomas', verbose_name='Диплом'),
),
migrations.AddField(
model_name='students',
name='passport',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.passports', verbose_name='Паспорт'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-10-10 21:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0008_diplomas_passports_alter_students_options_and_more'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='agreement_date',
field=models.DateField(default='2022-05-05', verbose_name='Дата заключения'),
),
]

View File

@@ -0,0 +1,65 @@
# Generated by Django 4.1.1 on 2022-10-11 09:25
import autoslug.fields
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0009_contracts_agreement_date'),
]
operations = [
migrations.CreateModel(
name='Order_types',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=150, verbose_name='Наименование')),
('body', models.TextField(verbose_name='Текст до таблицы')),
('footer', models.TextField(verbose_name='Заключение')),
],
),
migrations.AlterModelOptions(
name='diplomas',
options={'verbose_name': 'Диплом', 'verbose_name_plural': 'Дипломы'},
),
migrations.AlterModelOptions(
name='passports',
options={'verbose_name': 'Паспорт', 'verbose_name_plural': 'Паспорта'},
),
migrations.AddField(
model_name='structures',
name='rector',
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Ректор'),
),
migrations.AlterField(
model_name='diplomas',
name='series',
field=models.CharField(max_length=8, verbose_name='Серия'),
),
migrations.AlterField(
model_name='passports',
name='series',
field=models.CharField(max_length=5, verbose_name='Серия'),
),
migrations.AlterField(
model_name='students',
name='slug',
field=autoslug.fields.AutoSlugField(editable=True, populate_from='title', unique=True),
),
migrations.CreateModel(
name='Orders',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('number', models.CharField(blank=True, max_length=50, verbose_name='Номер')),
('registered', models.DateField(blank=True, verbose_name='от')),
('event_date', models.DateField(verbose_name='дата вступления в силу')),
('emploees', models.ManyToManyField(blank=True, to='main.emploees', verbose_name='Сотрудники')),
('structure', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.structures', verbose_name='Текущая структура')),
('students', models.ManyToManyField(blank=True, to='main.students', verbose_name='Студенты')),
('type_order', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.order_types', verbose_name='Тип приказа')),
],
),
]

View File

@@ -0,0 +1,22 @@
# Generated by Django 4.1.1 on 2022-10-11 12:06
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0010_order_types_alter_diplomas_options_and_more'),
]
operations = [
migrations.RemoveField(
model_name='orders',
name='students',
),
migrations.AddField(
model_name='orders',
name='conracts',
field=models.ManyToManyField(blank=True, to='main.contracts', verbose_name='Студенты'),
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 4.1.1 on 2022-10-12 14:56
import autoslug.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0011_remove_orders_students_orders_conracts'),
]
operations = [
migrations.AlterField(
model_name='students',
name='slug',
field=autoslug.fields.AutoSlugField(editable=False, populate_from='title', unique=True),
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 4.1.1 on 2022-10-12 15:43
import autoslug.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0012_alter_students_slug'),
]
operations = [
migrations.AlterModelOptions(
name='students',
options={'ordering': ['group', 'surname', 'name'], 'verbose_name': 'Студента', 'verbose_name_plural': 'Студенты'},
),
migrations.AlterField(
model_name='passports',
name='issued_department',
field=models.CharField(max_length=150, verbose_name='Наименование подразделения'),
),
migrations.AlterField(
model_name='students',
name='slug',
field=autoslug.fields.AutoSlugField(editable=False, populate_from='surname', unique=True),
),
]

View File

@@ -0,0 +1,32 @@
# Generated by Django 4.1.1 on 2022-10-20 10:34
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0013_alter_students_options_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='orders',
options={'ordering': ['-registered'], 'verbose_name': 'Приказ', 'verbose_name_plural': 'Приказы'},
),
migrations.CreateModel(
name='Sertificates',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('number', models.CharField(blank=True, max_length=50, verbose_name='Исходящий номер')),
('registered', models.DateField(blank=True, verbose_name='Зарегистрированна')),
('order', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.orders', verbose_name='Приказ')),
('student', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.students', verbose_name='Студент')),
],
options={
'verbose_name': 'Справку',
'verbose_name_plural': 'Справки',
},
),
]

View File

@@ -0,0 +1,24 @@
# Generated by Django 4.1.1 on 2022-10-29 12:51
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0014_alter_orders_options_sertificates'),
]
operations = [
migrations.RemoveField(
model_name='sertificates',
name='student',
),
migrations.AddField(
model_name='sertificates',
name='contract',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='main.contracts', verbose_name='Договор'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,65 @@
# Generated by Django 4.1.1 on 2022-10-29 13:25
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0015_remove_sertificates_student_sertificates_contract'),
]
operations = [
migrations.CreateModel(
name='Name_cases',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('genitive', models.CharField(max_length=50, verbose_name='Родительный')),
('dative', models.CharField(max_length=50, verbose_name='Дательный')),
],
options={
'verbose_name': 'Падеж имени',
'verbose_name_plural': 'Падежи имени',
},
),
migrations.CreateModel(
name='Patronymic_cases',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('genitive', models.CharField(max_length=50, verbose_name='Родительный')),
('dative', models.CharField(max_length=50, verbose_name='Дательный')),
],
options={
'verbose_name': 'Падеж отчества',
'verbose_name_plural': 'Падежи отчества',
},
),
migrations.CreateModel(
name='Surname_cases',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('genitive', models.CharField(max_length=50, verbose_name='Родительный')),
('dative', models.CharField(max_length=50, verbose_name='Дательный')),
],
options={
'verbose_name': 'Падеж фамилии',
'verbose_name_plural': 'Падежи фамилии',
},
),
migrations.AddField(
model_name='emploees',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
migrations.AddField(
model_name='students',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
migrations.AddField(
model_name='worker',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
]

View File

@@ -0,0 +1,32 @@
# Generated by Django 4.1.1 on 2022-10-29 13:27
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0016_name_cases_patronymic_cases_surname_cases_and_more'),
]
operations = [
migrations.AlterField(
model_name='emploees',
name='surname_cases',
field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
preserve_default=False,
),
migrations.AlterField(
model_name='students',
name='surname_cases',
field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
preserve_default=False,
),
migrations.AlterField(
model_name='worker',
name='surname_cases',
field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,29 @@
# Generated by Django 4.1.1 on 2022-10-29 13:31
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0017_alter_emploees_surname_cases_and_more'),
]
operations = [
migrations.AlterField(
model_name='emploees',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
migrations.AlterField(
model_name='students',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
migrations.AlterField(
model_name='worker',
name='surname_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии'),
),
]

View File

@@ -0,0 +1,44 @@
# Generated by Django 4.1.1 on 2022-10-29 13:33
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0018_alter_emploees_surname_cases_and_more'),
]
operations = [
migrations.AddField(
model_name='emploees',
name='name_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.name_cases', verbose_name='падежи имени'),
),
migrations.AddField(
model_name='emploees',
name='patronymic_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.patronymic_cases', verbose_name='падежи отчества'),
),
migrations.AddField(
model_name='students',
name='name_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.name_cases', verbose_name='падежи имени'),
),
migrations.AddField(
model_name='students',
name='patronymic_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.patronymic_cases', verbose_name='падежи отчества'),
),
migrations.AddField(
model_name='worker',
name='name_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.name_cases', verbose_name='падежи имени'),
),
migrations.AddField(
model_name='worker',
name='patronymic_cases',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.patronymic_cases', verbose_name='падежи отчества'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-11-01 07:07
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0019_emploees_name_cases_emploees_patronymic_cases_and_more'),
]
operations = [
migrations.AddField(
model_name='orders',
name='scan',
field=models.FileField(blank=True, upload_to='pdf/%Y/%m/%d/', verbose_name='Скан документа'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-11-01 09:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0020_orders_scan'),
]
operations = [
migrations.AlterField(
model_name='orders',
name='scan',
field=models.FileField(blank=True, upload_to='pdf/%Y/%m/', verbose_name='Скан документа'),
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 4.1.1 on 2022-11-01 09:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0021_alter_orders_scan'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='scan',
field=models.FileField(blank=True, upload_to='pdf/contracts/%Y/%m/', verbose_name='Скан документа'),
),
migrations.AlterField(
model_name='orders',
name='scan',
field=models.FileField(blank=True, upload_to='pdf/orders/%Y/%m/', verbose_name='Скан документа'),
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 4.1.1 on 2022-11-01 14:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0022_contracts_scan_alter_orders_scan'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='paymenе_date1',
field=models.DateField(default='2021-09-30', verbose_name='Дата оплаты 1 семестра'),
),
migrations.AddField(
model_name='contracts',
name='paymenе_date2',
field=models.DateField(default='2022-02-01', verbose_name='Дата оплаты 2 семестра'),
),
migrations.AddField(
model_name='contracts',
name='paymenе_date3',
field=models.DateField(default='2022-09-01', verbose_name='Дата оплаты 3 семестра'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-11-02 06:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0023_contracts_paymenе_date1_contracts_paymenе_date2_and_more'),
]
operations = [
migrations.AddField(
model_name='sertificates',
name='scan',
field=models.FileField(blank=True, upload_to='pdf/sertificates/%Y/%m/', verbose_name='Скан документа'),
),
]

View File

@@ -0,0 +1,22 @@
# Generated by Django 4.1.1 on 2022-11-04 08:06
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0024_sertificates_scan'),
]
operations = [
migrations.AlterModelOptions(
name='groups',
options={'ordering': ['-graduation_at', '-title'], 'verbose_name': 'Группа', 'verbose_name_plural': 'Группы'},
),
migrations.RenameField(
model_name='orders',
old_name='conracts',
new_name='contracts',
),
]

View File

@@ -0,0 +1,59 @@
# Generated by Django 4.1.1 on 2022-11-06 10:19
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0025_alter_groups_options_and_more'),
]
operations = [
migrations.AddField(
model_name='contracts',
name='group',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='main.groups', verbose_name='Группа'),
preserve_default=False,
),
migrations.AlterField(
model_name='contracts',
name='client',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.students', verbose_name='Обучающийся'),
),
migrations.AlterField(
model_name='students',
name='slug',
field=models.SlugField(allow_unicode=True, unique=True),
),
migrations.CreateModel(
name='Customers',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('surname', models.CharField(max_length=30, verbose_name='Фамилия')),
('name', models.CharField(max_length=20, verbose_name='Имя')),
('patronymic', models.CharField(blank=True, max_length=25, verbose_name='Отчество')),
('birthdate', models.DateField(blank=True, verbose_name='День рождения')),
('gender', models.CharField(choices=[('муж.', 'Мужчина'), ('жен.', 'Женщина')], default='муж.', max_length=4, verbose_name='Пол')),
('phone', models.CharField(blank=True, max_length=20, verbose_name='Номер телефона')),
('e_mail', models.CharField(blank=True, max_length=70, verbose_name='Электронная почта')),
('added_at', models.DateTimeField(auto_now_add=True, verbose_name='Добавлен')),
('slug', models.SlugField(allow_unicode=True, unique=True)),
('name_cases', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.name_cases', verbose_name='падежи имени')),
('passport', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.passports', verbose_name='Паспорт')),
('patronymic_cases', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.patronymic_cases', verbose_name='падежи отчества')),
('surname_cases', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.surname_cases', verbose_name='падежи фамилии')),
],
options={
'verbose_name': 'Заказчика',
'verbose_name_plural': 'Заказчики',
'ordering': ['surname', 'name'],
},
),
migrations.AddField(
model_name='contracts',
name='сustomer',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.customers', verbose_name='Заказчик'),
),
]

View File

@@ -0,0 +1,33 @@
# Generated by Django 4.1.1 on 2022-11-06 17:36
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0026_contracts_group_alter_contracts_client_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='contracts',
options={'ordering': ['-agreement_date', '-number'], 'verbose_name': 'Договор', 'verbose_name_plural': 'Договоры'},
),
migrations.RemoveField(
model_name='customers',
name='slug',
),
migrations.RemoveField(
model_name='emploees',
name='slug',
),
migrations.RemoveField(
model_name='students',
name='slug',
),
migrations.RemoveField(
model_name='worker',
name='slug',
),
]

View File

@@ -0,0 +1,33 @@
# Generated by Django 4.1.1 on 2022-11-06 22:23
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0027_alter_contracts_options_remove_customers_slug_and_more'),
]
operations = [
migrations.RenameField(
model_name='contracts',
old_name='сustomer',
new_name='customer',
),
migrations.RenameField(
model_name='contracts',
old_name='paymenе_date1',
new_name='payment_date1',
),
migrations.RenameField(
model_name='contracts',
old_name='paymenе_date2',
new_name='payment_date2',
),
migrations.RenameField(
model_name='contracts',
old_name='paymenе_date3',
new_name='payment_date3',
),
]

View File

@@ -0,0 +1,98 @@
# Generated by Django 4.1.1 on 2022-12-06 12:34
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0028_rename_сustomer_contracts_customer_and_more'),
]
operations = [
migrations.CreateModel(
name='Grade',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=50, verbose_name='Звание')),
],
),
migrations.CreateModel(
name='Post',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=50, verbose_name='Должность')),
],
),
migrations.AddField(
model_name='structures',
name='res_def',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, related_name='res_def', to='main.emploees', verbose_name='Ответственный от ДЭиФ'),
preserve_default=False,
),
migrations.AddField(
model_name='structures',
name='res_ido',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, related_name='res_ido', to='main.emploees', verbose_name='Ответственный от ИДО'),
preserve_default=False,
),
migrations.AlterField(
model_name='structures',
name='director_ido',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='dir_ido', to='main.emploees', verbose_name='Директор ИДО'),
),
migrations.CreateModel(
name='Questions',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('body', models.TextField(verbose_name='Вопрос')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.emploees', verbose_name='Член комиссии')),
],
options={
'verbose_name': 'Вопрос',
'verbose_name_plural': 'Вопросы',
},
),
migrations.CreateModel(
name='Protocols',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('number', models.IntegerField(verbose_name='Номер протокола')),
('date_time', models.DateTimeField(verbose_name='Дата и время протокола')),
('questions', models.ManyToManyField(related_name='Вопросы', to='main.questions')),
],
options={
'verbose_name': 'Протокол',
'verbose_name_plural': 'Протоколы',
},
),
migrations.CreateModel(
name='Diploms',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=200, verbose_name='Тема работы')),
('adviser', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='main.emploees', verbose_name='Руководитель работы')),
('protocol', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.protocols', verbose_name='Протокол защиты')),
],
options={
'verbose_name': 'Диплом',
'verbose_name_plural': 'Дипломы',
},
),
migrations.AddField(
model_name='contracts',
name='diplom',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.diploms', verbose_name='ВКР'),
),
migrations.AddField(
model_name='emploees',
name='grade',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='main.grade', verbose_name='Звание'),
),
migrations.AddField(
model_name='emploees',
name='post',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='main.post', verbose_name='Должность'),
),
]

View File

@@ -0,0 +1,52 @@
# Generated by Django 4.1.1 on 2022-12-07 09:01
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0029_grade_post_structures_res_def_structures_res_ido_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='protocols',
options={'ordering': ['-date_time'], 'verbose_name': 'Протокол', 'verbose_name_plural': 'Протоколы'},
),
migrations.AlterModelOptions(
name='students',
options={'ordering': ['surname', 'name'], 'verbose_name': 'Студента', 'verbose_name_plural': 'Студенты'},
),
migrations.RemoveField(
model_name='emploees',
name='group',
),
migrations.RemoveField(
model_name='emploees',
name='name_genitive',
),
migrations.RemoveField(
model_name='emploees',
name='patronymic_genitive',
),
migrations.RemoveField(
model_name='emploees',
name='surname_genitive',
),
migrations.RemoveField(
model_name='students',
name='group',
),
migrations.AlterField(
model_name='emploees',
name='grade',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.grade', verbose_name='Звание'),
),
migrations.AlterField(
model_name='emploees',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.post', verbose_name='Должность'),
),
]

View File

@@ -0,0 +1,38 @@
# Generated by Django 4.1.1 on 2022-12-09 12:38
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0030_alter_protocols_options_alter_students_options_and_more'),
]
operations = [
migrations.CreateModel(
name='Degree',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=50, verbose_name='Степень')),
],
),
migrations.AlterModelOptions(
name='name_cases',
options={'ordering': ['genitive'], 'verbose_name': 'Падеж имени', 'verbose_name_plural': 'Падежи имени'},
),
migrations.AlterModelOptions(
name='patronymic_cases',
options={'ordering': ['genitive'], 'verbose_name': 'Падеж отчества', 'verbose_name_plural': 'Падежи отчества'},
),
migrations.AlterModelOptions(
name='surname_cases',
options={'ordering': ['genitive'], 'verbose_name': 'Падеж фамилии', 'verbose_name_plural': 'Падежи фамилии'},
),
migrations.AddField(
model_name='emploees',
name='degree',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.degree', verbose_name='Ученая степень'),
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 4.1.1 on 2022-12-09 12:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0031_degree_alter_name_cases_options_and_more'),
]
operations = [
migrations.AddField(
model_name='emploees',
name='department',
field=models.CharField(default=1, max_length=255, verbose_name='Подразделение'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,34 @@
# Generated by Django 4.1.1 on 2022-12-10 17:33
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0032_emploees_department'),
]
operations = [
migrations.CreateModel(
name='Passport_department',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=7, verbose_name='Код подразделения')),
('title', models.CharField(max_length=255, verbose_name='Наименование подразделения')),
],
),
migrations.AlterModelOptions(
name='diplomas',
options={'verbose_name': 'Полученный Диплом', 'verbose_name_plural': 'Полученные Дипломы'},
),
migrations.DeleteModel(
name='Worker',
),
migrations.AddField(
model_name='passports',
name='passport_department',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='main.passport_department', verbose_name='Код подразделения'),
),
]

View File

@@ -0,0 +1,35 @@
# Generated by Django 4.1.1 on 2022-12-13 08:56
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0033_passport_department_alter_diplomas_options_and_more'),
]
operations = [
migrations.RenameModel(
old_name='Diploms',
new_name='Degree_works',
),
migrations.AlterModelOptions(
name='degree_works',
options={'verbose_name': 'ВКР', 'verbose_name_plural': 'ВКР'},
),
migrations.AlterModelOptions(
name='passport_department',
options={'verbose_name': 'Паспортное подразделение', 'verbose_name_plural': 'Паспортные подразделения'},
),
migrations.AlterField(
model_name='order_types',
name='body',
field=models.TextField(blank=True, verbose_name='Текст вводной'),
),
migrations.AlterField(
model_name='order_types',
name='footer',
field=models.TextField(verbose_name='Основание'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-12-13 09:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0034_rename_diploms_degree_works_and_more'),
]
operations = [
migrations.RenameField(
model_name='contracts',
old_name='diplom',
new_name='degree_work',
),
]

View File

@@ -0,0 +1,33 @@
# Generated by Django 4.1.1 on 2022-12-14 06:42
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0035_rename_diplom_contracts_degree_work'),
]
operations = [
migrations.CreateModel(
name='Extracts',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('number', models.CharField(max_length=5, verbose_name='Номер')),
('date', models.DateField(verbose_name='Дата')),
('secretary', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='secretary', to='main.emploees', verbose_name='Секретарь')),
('speaker', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='speaker', to='main.emploees', verbose_name='Докладчик')),
],
options={
'verbose_name': 'Выписку',
'verbose_name_plural': 'Выписки',
},
),
migrations.AddField(
model_name='orders',
name='extract',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.extracts', verbose_name='Выписка'),
),
]

View File

@@ -0,0 +1,24 @@
# Generated by Django 4.1.1 on 2022-12-14 07:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0036_extracts_orders_extract'),
]
operations = [
migrations.AddField(
model_name='extracts',
name='department',
field=models.CharField(default=2012, max_length=255, verbose_name='Подразделение'),
preserve_default=False,
),
migrations.AlterField(
model_name='extracts',
name='number',
field=models.CharField(max_length=5, verbose_name='Номер протокола'),
),
]

View File

@@ -0,0 +1,22 @@
# Generated by Django 4.1.1 on 2022-12-16 13:25
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0037_extracts_department_alter_extracts_number'),
]
operations = [
migrations.AlterModelOptions(
name='groups',
options={'ordering': ['-graduation_date', '-graduation_at', '-title'], 'verbose_name': 'Группа', 'verbose_name_plural': 'Группы'},
),
migrations.AddField(
model_name='groups',
name='graduation_date',
field=models.DateField(null=True, verbose_name='Дата выпуска'),
),
]

View File

@@ -0,0 +1,37 @@
# Generated by Django 4.1.1 on 2022-12-20 12:27
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0038_alter_groups_options_groups_graduation_date'),
]
operations = [
migrations.CreateModel(
name='Template_files',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateField(auto_now_add=True, verbose_name='Дата шаблона')),
('title', models.CharField(max_length=50, verbose_name='Название')),
('file', models.FileField(blank=True, upload_to='templates/%Y/%m', verbose_name='Файл шаблона')),
],
options={
'verbose_name': 'Шаблон',
'verbose_name_plural': 'Шаблоны',
},
),
migrations.AlterModelOptions(
name='groups',
options={'ordering': ['-graduation_date', '-title'], 'verbose_name': 'Группа', 'verbose_name_plural': 'Группы'},
),
migrations.AddField(
model_name='protocols',
name='template',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='main.template_files', verbose_name='Шаблон'),
preserve_default=False,
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 4.1.1 on 2022-12-27 09:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0039_template_files_alter_groups_options_and_more'),
]
operations = [
migrations.AddField(
model_name='degree_works',
name='score',
field=models.CharField(choices=[('3', 'удовлетворительно'), ('4', 'хорошо'), ('5', 'отлично')], default='4', max_length=4, verbose_name='Оценка'),
),
migrations.AlterField(
model_name='protocols',
name='questions',
field=models.ManyToManyField(to='main.questions', verbose_name='Вопросы'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2022-12-27 09:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0040_degree_works_score_alter_protocols_questions'),
]
operations = [
migrations.AlterField(
model_name='degree_works',
name='score',
field=models.CharField(choices=[('удовлетворительно', 'удовлетворительно'), ('хорошо', 'хорошо'), ('отлично', 'отлично')], default='хорошо', max_length=40, verbose_name='Оценка'),
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 4.1.1 on 2022-12-28 06:08
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0041_alter_degree_works_score'),
]
operations = [
migrations.AddField(
model_name='orders',
name='template',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.template_files', verbose_name='Шаблон'),
),
]

View File

@@ -0,0 +1,25 @@
# Generated by Django 4.1.1 on 2023-04-14 14:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0042_orders_template'),
]
operations = [
migrations.CreateModel(
name='Access_lists',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('registration_date', models.DateField(verbose_name='от')),
('students', models.ManyToManyField(blank=True, to='main.contracts', verbose_name='Студенты')),
],
options={
'verbose_name': 'Пропуск',
'verbose_name_plural': 'Пропуски',
},
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 4.1.1 on 2023-04-21 14:21
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('main', '0043_access_lists'),
]
operations = [
migrations.AddField(
model_name='access_lists',
name='template',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.template_files', verbose_name='Шаблон'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2023-04-21 15:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0044_access_lists_template'),
]
operations = [
migrations.AddField(
model_name='access_lists',
name='number',
field=models.CharField(blank=True, max_length=10, verbose_name='Номер'),
),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 4.1.1 on 2023-09-30 21:52
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0045_access_lists_number'),
]
operations = [
migrations.RenameModel(
old_name='Surname_cases',
new_name='SurnameCases',
),
]

View File

@@ -0,0 +1,51 @@
# Generated by Django 4.1.1 on 2023-10-01 20:08
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0046_rename_surname_cases_surnamecases'),
]
operations = [
migrations.RenameModel(
old_name='Name_cases',
new_name='NameCases',
),
migrations.RenameModel(
old_name='Passport_department',
new_name='PassportDepartment',
),
migrations.AlterField(
model_name='customers',
name='birthdate',
field=models.DateField(blank=True, null=True, verbose_name='День рождения'),
),
migrations.AlterField(
model_name='emploees',
name='birthdate',
field=models.DateField(blank=True, null=True, verbose_name='День рождения'),
),
migrations.AlterField(
model_name='sertificates',
name='registered',
field=models.DateField(blank=True, verbose_name='Зарегистрирована'),
),
migrations.AlterField(
model_name='structures',
name='warrant_date',
field=models.DateField(default='2022-05-05', verbose_name='Доверенность от'),
),
migrations.AlterField(
model_name='structures',
name='warrant_number',
field=models.CharField(max_length=15, verbose_name='Доверенность №'),
),
migrations.AlterField(
model_name='students',
name='birthdate',
field=models.DateField(blank=True, null=True, verbose_name='День рождения'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2024-02-01 11:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0047_rename_name_cases_namecases_and_more'),
]
operations = [
migrations.AddField(
model_name='degree_works',
name='registration_number',
field=models.IntegerField(blank=True, null=True, verbose_name='Регистрационный номер'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2024-02-01 12:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0048_degree_works_registration_number'),
]
operations = [
migrations.AddField(
model_name='degree_works',
name='diploma_number',
field=models.CharField(blank=True, max_length=45, null=True, verbose_name='Номер диплома'),
),
]

View File