prod
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.1.1 on 2025-11-24 00:29
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('web', '0011_teammember'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='teammember',
|
||||
name='telegram',
|
||||
field=models.CharField(blank=True, help_text='Username без @ (например: trevor1985)', max_length=100, verbose_name='Telegram'),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,140 @@
|
||||
# Generated by Django 5.1.1 on 2025-11-24 00:41
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('web', '0012_alter_teammember_telegram'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='CareerVacancy',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200)),
|
||||
('slug', models.SlugField(blank=True, max_length=220, unique=True)),
|
||||
('location', models.CharField(blank=True, max_length=200)),
|
||||
('employment_type', models.CharField(choices=[('FT', 'Полная занятость'), ('PT', 'Частичная занятость'), ('CT', 'Контракт'), ('IN', 'Стажировка')], default='FT', max_length=2)),
|
||||
('responsibilities', models.TextField()),
|
||||
('requirements', models.TextField()),
|
||||
('desirable', models.TextField(blank=True)),
|
||||
('salary_min', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)),
|
||||
('salary_max', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
('posted_at', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Вакансия',
|
||||
'verbose_name_plural': 'Вакансии',
|
||||
'ordering': ['-posted_at'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='NewsArticle',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200)),
|
||||
('slug', models.SlugField(blank=True, max_length=220, unique=True)),
|
||||
('excerpt', models.CharField(blank=True, max_length=300)),
|
||||
('content', models.TextField()),
|
||||
('image', models.ImageField(blank=True, null=True, upload_to='static/img/news/')),
|
||||
('is_published', models.BooleanField(default=False)),
|
||||
('published_date', models.DateTimeField(blank=True, null=True)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Новость',
|
||||
'verbose_name_plural': 'Новости',
|
||||
'ordering': ['-published_date', '-created_at'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PrivacyPolicy',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('version', models.CharField(default='1.0', max_length=50)),
|
||||
('content', models.TextField()),
|
||||
('effective_date', models.DateField(auto_now_add=True)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Политика конфиденциальности',
|
||||
'verbose_name_plural': 'Политики конфиденциальности',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TermsOfUse',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('version', models.CharField(default='1.0', max_length=50)),
|
||||
('content', models.TextField()),
|
||||
('effective_date', models.DateField(auto_now_add=True)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Условия использования',
|
||||
'verbose_name_plural': 'Условия использования',
|
||||
},
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='blogpost',
|
||||
options={'ordering': ['-published_date'], 'verbose_name': 'Запись блога', 'verbose_name_plural': 'Записи блога'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='author',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blog_posts', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='excerpt',
|
||||
field=models.CharField(blank=True, max_length=400),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='slug',
|
||||
field=models.SlugField(blank=True, max_length=220, unique=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='status',
|
||||
field=models.CharField(choices=[('draft', 'Черновик'), ('published', 'Опубликовано')], default='draft', max_length=20),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='updated_at',
|
||||
field=models.DateTimeField(auto_now=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='blogpost',
|
||||
name='views',
|
||||
field=models.PositiveIntegerField(default=0),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PortfolioItem',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200)),
|
||||
('slug', models.SlugField(blank=True, max_length=220, unique=True)),
|
||||
('description', models.TextField()),
|
||||
('client_name', models.CharField(blank=True, max_length=200)),
|
||||
('completion_date', models.DateField(blank=True, null=True)),
|
||||
('image', models.ImageField(blank=True, null=True, upload_to='static/img/portfolio/')),
|
||||
('featured', models.BooleanField(default=False)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='portfolio_items', to='web.category')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Портфолио',
|
||||
'verbose_name_plural': 'Портфолио',
|
||||
'ordering': ['-completion_date'],
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user