You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

195 lines
13 KiB

# Generated by Django 2.0.7 on 2018-10-25 15:27
import autoslug.fields
import cart.models
import datetime
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.manager
from django.utils.timezone import utc
class Migration(migrations.Migration):
initial = True
dependencies = [
('products', '0001_initial'),
('core', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Buying',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('bonus_points', models.IntegerField(validators=[django.core.validators.MinValueValidator(0)], verbose_name='бонусы')),
('status', models.SmallIntegerField(choices=[(25, 'В корзине'), (50, 'Обрабатываеться'), (75, 'Оплаченно')], default=25, verbose_name='статус')),
('amount', models.SmallIntegerField(default=0, verbose_name='колличество')),
('total_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='цена')),
],
options={
'verbose_name': 'Покупка',
'verbose_name_plural': 'Покупки',
},
managers=[
('active', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='Cashback',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('cashback', models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Сумма')),
('status', models.SmallIntegerField(choices=[(0, 'заработанный'), (100, 'потраченный')], default=0, verbose_name='статус')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'cashback',
'verbose_name_plural': 'cashback',
},
),
migrations.CreateModel(
name='Client',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('name', models.CharField(max_length=255, verbose_name='Название')),
('image', models.FileField(upload_to=cart.models.Client.upload_file_to, verbose_name='Изображение')),
('preview', models.FileField(upload_to=cart.models.Client.upload_file_to, verbose_name='Миниатюрка')),
],
options={
'verbose_name': 'Клиент',
'verbose_name_plural': 'Клиенты',
},
),
migrations.CreateModel(
name='Discount',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Имя')),
('image', models.FileField(blank=True, null=True, upload_to=cart.models.Discount.upload_file_to, verbose_name='Изображение')),
('code', models.CharField(blank=True, default='f09d1c83-a6f8-40b5-a980-c7e69f7f585c', max_length=50, unique=True, verbose_name='Код')),
('valid_from', models.DateTimeField(auto_now_add=True, verbose_name='Начало')),
('valid_to', models.DateTimeField(blank=True, default=datetime.datetime(2018, 11, 1, 15, 27, 27, 195955, tzinfo=utc), verbose_name='Конец')),
('value', models.IntegerField(default=0, help_text='Указываем целым числом. Пример: 30 = 30%', validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='Процент')),
('active', models.BooleanField(default=True, verbose_name='Активная')),
],
options={
'verbose_name': 'Дисконт',
'verbose_name_plural': 'Дисконт',
},
),
migrations.CreateModel(
name='Offer',
fields=[
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('product', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='products.Product', verbose_name='Продукт')),
('vendor_code', models.CharField(help_text='Должен быть уникальным', max_length=255, unique=True, verbose_name='Артикул')),
('price', models.DecimalField(decimal_places=2, help_text='Цена за продукт', max_digits=10, validators=[django.core.validators.MinValueValidator(1.0)], verbose_name='цена')),
('amount', models.IntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Колличество')),
('cashback', models.DecimalField(decimal_places=2, default=0, help_text='Указаная сумма будет отображаться в выбранной валюте позиции', max_digits=6, verbose_name='Кешбек')),
('note', models.TextField(blank=True, null=True, verbose_name='Пометка')),
('account_nds', models.BooleanField(default=False, verbose_name='с учетом НДС')),
('currency', models.ForeignKey(help_text='Цена по умолчанию в рублях', on_delete=django.db.models.deletion.PROTECT, to='core.Currency', verbose_name='Валюта')),
('discount', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.Discount', verbose_name='Дисконт')),
],
options={
'verbose_name': 'Позиция',
'verbose_name_plural': 'Позиции',
},
),
migrations.CreateModel(
name='Order',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('order_code', models.CharField(max_length=255, verbose_name='код заказа')),
('customer_name', models.CharField(max_length=255, verbose_name='имя')),
('customer_email', models.EmailField(blank=True, default=None, max_length=254, null=True, verbose_name='email')),
('phone', models.CharField(max_length=12, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+99999999999'. Up to 12 digits allowed.", regex='^((\\+7)|8)?\\d{10}$')], verbose_name='телефон')),
('customer_address', models.TextField(verbose_name='адрес')),
('total_price', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='стоимость')),
('comment', models.TextField(blank=True, default=None, null=True, verbose_name='комментарий')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (50, 'Обрабатывается'), (100, 'Оплаченно')], default=0, verbose_name='статус')),
('city', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.City', verbose_name='Город')),
('customer_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='пользователь')),
],
options={
'verbose_name': 'Заказ',
'verbose_name_plural': 'Заказы',
'ordering': ('-create_at',),
},
),
migrations.CreateModel(
name='SupplyTarget',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Назначение')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True)),
('status', models.PositiveSmallIntegerField(help_text='Необходимо указать числовой код статус', verbose_name='статус')),
],
options={
'verbose_name': 'Лицензия',
'verbose_name_plural': 'Лицензии',
},
),
migrations.CreateModel(
name='SupplyType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Тип')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True)),
('min_term', models.IntegerField(help_text='Минимальный срок поставки', verbose_name='от')),
('max_term', models.IntegerField(help_text='Максимальный срок поставки', verbose_name='до')),
('term_dimension', models.SmallIntegerField(choices=[(0, 'Час'), (0, 'День'), (0, 'Неделя'), (0, 'Месяц')], default=0, verbose_name='размерность')),
],
options={
'verbose_name': 'Тип поставки',
'verbose_name_plural': 'Тип поставки',
},
),
migrations.AddField(
model_name='offer',
name='supply_target',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.SupplyTarget', verbose_name='Лицензия'),
),
migrations.AddField(
model_name='offer',
name='supply_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.SupplyType', verbose_name='Поставка'),
),
migrations.AddField(
model_name='buying',
name='offer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cart.Offer', verbose_name='позиция'),
),
migrations.AddField(
model_name='buying',
name='order',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cart.Order', verbose_name='пользователь'),
),
migrations.AddField(
model_name='buying',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='пользователь'),
),
]