161 lines
11 KiB
Python
161 lines
11 KiB
Python
|
|
# Generated by Django 4.2 on 2024-08-26 07:54
|
|||
|
|
|
|||
|
|
from django.conf import settings
|
|||
|
|
from django.db import migrations, models
|
|||
|
|
import django.db.models.deletion
|
|||
|
|
import django_ckeditor_5.fields
|
|||
|
|
import filer.fields.folder
|
|||
|
|
import filer.fields.image
|
|||
|
|
|
|||
|
|
|
|||
|
|
class Migration(migrations.Migration):
|
|||
|
|
|
|||
|
|
initial = True
|
|||
|
|
|
|||
|
|
dependencies = [
|
|||
|
|
('filer', '0017_image__transparent'),
|
|||
|
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
operations = [
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='Category',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Заголовок')),
|
|||
|
|
('slug', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=512, null=True, verbose_name='Уникальный URL')),
|
|||
|
|
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'категория новости',
|
|||
|
|
'verbose_name_plural': 'категории новостей',
|
|||
|
|
'ordering': ('order',),
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='StaticBlock',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Заголовок')),
|
|||
|
|
('content', models.TextField(blank=True, null=True, verbose_name='Контент')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'статический блок',
|
|||
|
|
'verbose_name_plural': 'статические блоки',
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='StaticPage',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Заголовок')),
|
|||
|
|
('content', django_ckeditor_5.fields.CKEditor5Field(blank=True, null=True, verbose_name='Контент')),
|
|||
|
|
('slug', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=512, null=True, verbose_name='Уникальный URL')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'текстовый раздел',
|
|||
|
|
'verbose_name_plural': 'текстовые разделы',
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='TransportBrand',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Название')),
|
|||
|
|
('db_id', models.CharField(max_length=255)),
|
|||
|
|
('slug', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=512, null=True, verbose_name='Уникальный URL')),
|
|||
|
|
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'марка',
|
|||
|
|
'verbose_name_plural': 'марки',
|
|||
|
|
'ordering': ('order',),
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='TransportModel',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Название')),
|
|||
|
|
('db_id', models.CharField(max_length=255)),
|
|||
|
|
('slug', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=512, null=True, verbose_name='Уникальный URL')),
|
|||
|
|
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
|||
|
|
('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='transport_models', to='core.transportbrand', verbose_name='Марка')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'модель',
|
|||
|
|
'verbose_name_plural': 'модели',
|
|||
|
|
'ordering': ('order',),
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='TransportExperience',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('category', models.CharField(choices=[('1', 'Япония'), ('2', 'Корея'), ('3', 'Спецтехника')], max_length=50, verbose_name='Категория')),
|
|||
|
|
('currency', models.CharField(choices=[('¥', 'Йены'), ('₩', 'Воны')], max_length=50, verbose_name='Валюта')),
|
|||
|
|
('title', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=255, null=True, verbose_name='Заголовок')),
|
|||
|
|
('year', models.PositiveIntegerField(blank=True, null=True, verbose_name='Год')),
|
|||
|
|
('mileage', models.PositiveBigIntegerField(blank=True, null=True, verbose_name='Пробег (км)')),
|
|||
|
|
('car_body', models.CharField(blank=True, max_length=255, null=True, verbose_name='Кузов')),
|
|||
|
|
('rate', models.CharField(blank=True, max_length=255, null=True, verbose_name='Оценка')),
|
|||
|
|
('volume', models.PositiveIntegerField(blank=True, null=True, verbose_name='Объем двигателя (см3)')),
|
|||
|
|
('power', models.PositiveIntegerField(blank=True, null=True, verbose_name='Мощность (л.с.)')),
|
|||
|
|
('drive', models.CharField(blank=True, max_length=255, null=True, verbose_name='Привод')),
|
|||
|
|
('transmission', models.CharField(blank=True, max_length=255, null=True, verbose_name='Трансмиссия')),
|
|||
|
|
('equipment', models.CharField(blank=True, max_length=255, null=True, verbose_name='Комплектация')),
|
|||
|
|
('auction_price', models.PositiveBigIntegerField(verbose_name='Цена на аукционе (валюта)')),
|
|||
|
|
('auction_price_rub', models.PositiveBigIntegerField(verbose_name='Цена на аукционе (руб.)')),
|
|||
|
|
('tax_price', models.PositiveBigIntegerField(verbose_name='Пошлина (валюта)')),
|
|||
|
|
('tax_price_rub', models.PositiveBigIntegerField(verbose_name='Пошлина (руб.)')),
|
|||
|
|
('delivery_price', models.PositiveBigIntegerField(verbose_name='Доставка (валюта)')),
|
|||
|
|
('delivery_price_rub', models.PositiveBigIntegerField(verbose_name='Доставка (руб.)')),
|
|||
|
|
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
|
|||
|
|
('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='transport_experience', to='core.transportbrand', verbose_name='Марка')),
|
|||
|
|
('cover', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILER_IMAGE_MODEL, verbose_name='Обложка')),
|
|||
|
|
('slider', filer.fields.folder.FilerFolderField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='filer.folder', verbose_name='Галерея')),
|
|||
|
|
('transport_model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='transport_experience', to='core.transportmodel', verbose_name='Модель')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'привезенное авто',
|
|||
|
|
'verbose_name_plural': 'привезенные авто',
|
|||
|
|
'ordering': ('order',),
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='Review',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('name', models.CharField(max_length=255, verbose_name='Фамилия Имя')),
|
|||
|
|
('date', models.DateField(verbose_name='Дата')),
|
|||
|
|
('text', models.TextField(verbose_name='Отзыв')),
|
|||
|
|
('active', models.BooleanField(default=True, verbose_name='Активный')),
|
|||
|
|
('source', models.CharField(blank=True, choices=[('1', 'Яндекс'), ('2', '2ГИС'), ('3', 'VL.ru')], max_length=50, null=True, verbose_name='Источник')),
|
|||
|
|
('screen', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILER_IMAGE_MODEL, verbose_name='Скрин')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'отзыв',
|
|||
|
|
'verbose_name_plural': 'отзывы',
|
|||
|
|
'ordering': ('-date',),
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
migrations.CreateModel(
|
|||
|
|
name='Article',
|
|||
|
|
fields=[
|
|||
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|||
|
|
('title', models.CharField(max_length=255, verbose_name='Заголовок')),
|
|||
|
|
('content', django_ckeditor_5.fields.CKEditor5Field(verbose_name='Контент')),
|
|||
|
|
('date', models.DateTimeField(verbose_name='Дата')),
|
|||
|
|
('is_active', models.BooleanField(default=True, verbose_name='Отображать на сайте?')),
|
|||
|
|
('slug', models.CharField(blank=True, help_text='Оставить пустым для автоматической генерации', max_length=512, null=True, verbose_name='Уникальный URL')),
|
|||
|
|
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='articles', to='core.category', verbose_name='Категория')),
|
|||
|
|
('cover', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILER_IMAGE_MODEL, verbose_name='Обложка')),
|
|||
|
|
],
|
|||
|
|
options={
|
|||
|
|
'verbose_name': 'статья/новость',
|
|||
|
|
'verbose_name_plural': 'Статьи/новости',
|
|||
|
|
'ordering': ['-date'],
|
|||
|
|
},
|
|||
|
|
),
|
|||
|
|
]
|