First commite
This commit is contained in:
64
cv/migrations/0001_initial.py
Normal file
64
cv/migrations/0001_initial.py
Normal file
@@ -0,0 +1,64 @@
|
||||
# Generated by Django 5.2.8 on 2025-11-11 18:36
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Profile',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('full_name', models.CharField(max_length=200)),
|
||||
('role', models.CharField(max_length=120)),
|
||||
('gender', models.CharField(choices=[('male', 'Мужчина'), ('female', 'Женщина')], max_length=10)),
|
||||
('summary', models.TextField()),
|
||||
('location', models.CharField(max_length=120)),
|
||||
('languages', models.JSONField(default=list)),
|
||||
('email', models.EmailField(max_length=254)),
|
||||
('phone', models.CharField(max_length=20)),
|
||||
('telegram', models.CharField(max_length=40)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'profile',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Experience',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('company', models.CharField(max_length=200)),
|
||||
('start_date', models.DateField()),
|
||||
('end_date', models.DateField(blank=True, null=True)),
|
||||
('summary', models.TextField()),
|
||||
('achievements', models.JSONField(default=list)),
|
||||
('tech', models.JSONField(default=list)),
|
||||
('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experience', to='cv.profile')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'experience',
|
||||
'ordering': ['-start_date'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SkillGroup',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('group', models.CharField(max_length=100)),
|
||||
('items', models.JSONField(default=list)),
|
||||
('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='skills_map', to='cv.profile')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'skill_group',
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,141 @@
|
||||
# Generated by Django 5.2.8 on 2025-11-12 18:24
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('cv', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='experience',
|
||||
options={'ordering': ['-start_date'], 'verbose_name': 'Опыт работы', 'verbose_name_plural': 'Опыт работы'},
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='profile',
|
||||
options={'verbose_name': 'Профиль', 'verbose_name_plural': 'Профили'},
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='skillgroup',
|
||||
options={'verbose_name': 'Группа навыков', 'verbose_name_plural': 'Группы навыков'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='profile',
|
||||
name='git',
|
||||
field=models.URLField(blank=True, null=True, verbose_name='Git'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='profile',
|
||||
name='photo',
|
||||
field=models.ImageField(blank=True, null=True, upload_to='', verbose_name='Фото'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='achievements',
|
||||
field=models.JSONField(default=list, verbose_name='Достижения'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='company',
|
||||
field=models.CharField(max_length=200, verbose_name='Компания'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='end_date',
|
||||
field=models.DateField(blank=True, null=True, verbose_name='Дата окончания'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='profile',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experience', to='cv.profile', verbose_name='Профиль'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='start_date',
|
||||
field=models.DateField(verbose_name='Дата начала'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='summary',
|
||||
field=models.TextField(verbose_name='Краткое описание'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='tech',
|
||||
field=models.JSONField(default=list, verbose_name='Технологии'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(auto_now_add=True, verbose_name='Дата создания'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='email',
|
||||
field=models.EmailField(blank=True, max_length=254, null=True, verbose_name='Email'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='full_name',
|
||||
field=models.CharField(max_length=200, verbose_name='ФИО'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='gender',
|
||||
field=models.CharField(choices=[('male', 'Мужской'), ('female', 'Женский')], max_length=10, verbose_name='Пол'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='languages',
|
||||
field=models.JSONField(default=list, verbose_name='Языки'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='location',
|
||||
field=models.CharField(max_length=120, verbose_name='Местоположение'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='phone',
|
||||
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Телефон'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='role',
|
||||
field=models.CharField(max_length=120, verbose_name='Роль'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='summary',
|
||||
field=models.TextField(verbose_name='Краткое описание'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='telegram',
|
||||
field=models.CharField(blank=True, max_length=40, null=True, verbose_name='Telegram'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='profile',
|
||||
name='updated_at',
|
||||
field=models.DateTimeField(auto_now=True, verbose_name='Дата обновления'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='skillgroup',
|
||||
name='group',
|
||||
field=models.CharField(max_length=100, verbose_name='Группа'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='skillgroup',
|
||||
name='items',
|
||||
field=models.JSONField(default=list, verbose_name='Элементы'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='skillgroup',
|
||||
name='profile',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='skills_map', to='cv.profile', verbose_name='Профиль'),
|
||||
),
|
||||
]
|
||||
0
cv/migrations/__init__.py
Normal file
0
cv/migrations/__init__.py
Normal file
Reference in New Issue
Block a user