mirror of
https://github.com/EDeev/deev.space.git
synced 2026-06-17 21:51:10 +03:00
144 lines
No EOL
7.9 KiB
Python
144 lines
No EOL
7.9 KiB
Python
from django.db import migrations, models
|
||
import django.db.models.deletion
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
dependencies = [
|
||
('main', '0002_sitesettings_alter_category_options_and_more'),
|
||
]
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name='ProjectStatus',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('name', models.CharField(max_length=50, verbose_name='Название')),
|
||
('slug', models.SlugField(max_length=50, unique=True, verbose_name='Код')),
|
||
('color', models.CharField(default='primary', max_length=20, verbose_name='Цвет (CSS класс)')),
|
||
('is_release',
|
||
models.BooleanField(default=False, help_text='Проекты с этим статусом попадают в "Завершённые"',
|
||
verbose_name='Это релиз')),
|
||
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Статус проекта',
|
||
'verbose_name_plural': 'Статусы проектов',
|
||
'ordering': ['order'],
|
||
},
|
||
),
|
||
|
||
migrations.CreateModel(
|
||
name='ArticleImage',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('image', models.ImageField(upload_to='articles/gallery/', verbose_name='Изображение')),
|
||
('caption', models.CharField(blank=True, max_length=255, verbose_name='Подпись')),
|
||
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
||
('is_inline',
|
||
models.BooleanField(default=False, help_text='Отметьте, если это изображение вставлено в текст статьи',
|
||
verbose_name='Добавлено через редактор')),
|
||
('article',
|
||
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='gallery_images',
|
||
to='main.article', verbose_name='Статья')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Изображение статьи',
|
||
'verbose_name_plural': 'Изображения статьи',
|
||
'ordering': ['order'],
|
||
},
|
||
),
|
||
|
||
migrations.CreateModel(
|
||
name='ArticleFile',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('file', models.FileField(upload_to='articles/files/', verbose_name='Файл')),
|
||
('title', models.CharField(max_length=255, verbose_name='Название файла')),
|
||
('description', models.TextField(blank=True, verbose_name='Описание')),
|
||
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
||
('is_inline', models.BooleanField(default=False,
|
||
help_text='Отметьте, если ссылка на этот файл вставлена в текст статьи',
|
||
verbose_name='Добавлено через редактор')),
|
||
('article',
|
||
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attached_files',
|
||
to='main.article', verbose_name='Статья')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Файл статьи',
|
||
'verbose_name_plural': 'Файлы статьи',
|
||
'ordering': ['order'],
|
||
},
|
||
),
|
||
|
||
migrations.CreateModel(
|
||
name='ArticleLink',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('url', models.URLField(verbose_name='URL')),
|
||
('title', models.CharField(blank=True, max_length=255, verbose_name='Заголовок')),
|
||
('description', models.TextField(blank=True, verbose_name='Описание')),
|
||
('preview_image', models.URLField(blank=True, verbose_name='URL изображения превью')),
|
||
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
||
('is_inline',
|
||
models.BooleanField(default=False, help_text='Отметьте, если эта ссылка вставлена в текст статьи',
|
||
verbose_name='Добавлено через редактор')),
|
||
('article',
|
||
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attached_links',
|
||
to='main.article', verbose_name='Статья')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Ссылка статьи',
|
||
'verbose_name_plural': 'Ссылки статьи',
|
||
'ordering': ['order'],
|
||
},
|
||
),
|
||
migrations.AddField(
|
||
model_name='article',
|
||
name='comments_enabled',
|
||
field=models.BooleanField(default=True, verbose_name='Включить комментарии'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='article',
|
||
name='show_cover_in_article',
|
||
field=models.BooleanField(default=True, verbose_name='Показывать обложку в начале статьи'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='article',
|
||
name='gallery_display_mode',
|
||
field=models.CharField(choices=[('carousel', 'Карусель'), ('collage', 'Коллаж')], default='carousel',
|
||
max_length=20, verbose_name='Режим отображения галереи'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='article',
|
||
name='exclude_inline_from_blocks',
|
||
field=models.BooleanField(default=False,
|
||
help_text='Если включено, изображения/файлы/ссылки, добавленные через редактор в текст, не будут отображаться в общих блоках',
|
||
verbose_name='Не дублировать медиа из редактора в блоках'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='project',
|
||
name='show_on_homepage',
|
||
field=models.BooleanField(default=False, verbose_name='Показывать на главной'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='project',
|
||
name='homepage_order',
|
||
field=models.PositiveIntegerField(default=0, verbose_name='Порядок на главной'),
|
||
),
|
||
migrations.AddField(
|
||
model_name='project',
|
||
name='programming_languages',
|
||
field=models.CharField(blank=True, help_text='Например: Python, JavaScript', max_length=200,
|
||
verbose_name='Языки программирования (через запятую)'),
|
||
),
|
||
migrations.RemoveField(
|
||
model_name='project',
|
||
name='status',
|
||
),
|
||
migrations.AddField(
|
||
model_name='project',
|
||
name='status',
|
||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
|
||
to='main.projectstatus', verbose_name='Статус'),
|
||
),
|
||
] |