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.
114 lines
7.3 KiB
114 lines
7.3 KiB
# Generated by Django 5.1.4 on 2025-01-08 14:02
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Discount',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('discount_percentage', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Процент скидки')),
|
|
('start_date', models.DateField(verbose_name='Дата начала')),
|
|
('end_date', models.DateField(verbose_name='Дата окончания')),
|
|
('description', models.TextField(blank=True, null=True, verbose_name='Описание акции')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='PriceList',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('entry_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Входная цена')),
|
|
('final_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Итоговая цена')),
|
|
('date_effective', models.DateField(verbose_name='Дата вступления в силу')),
|
|
('constraint_percent_limit', models.DecimalField(decimal_places=2, default=1000, max_digits=5, verbose_name='Лимит на наценку (%)')),
|
|
('constraint_price_change', models.DecimalField(decimal_places=2, default=90, max_digits=5, verbose_name='Лимит на изменение цены (%)')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='PriceType',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(choices=[('regular', 'Регулярная'), ('discount', 'Скидочная'), ('promotional', 'Акционная')], max_length=50, verbose_name='Тип цены')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Product',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=255, verbose_name='Наименование товара')),
|
|
('manufacturer_name', models.CharField(max_length=255, verbose_name='Производитель')),
|
|
('manufacturer_country', models.CharField(max_length=255, verbose_name='Страна производителя')),
|
|
('manufacturer_code', models.CharField(blank=True, max_length=50, null=True, verbose_name='Код производителя')),
|
|
('dimensions', models.CharField(blank=True, max_length=255, null=True, verbose_name='Размеры')),
|
|
('unit_of_measure', models.CharField(max_length=50, verbose_name='Единица измерения')),
|
|
('shelf_life_days', models.IntegerField(verbose_name='Срок годности (дни)')),
|
|
('barcode', models.CharField(max_length=50, unique=True, verbose_name='Штрихкод')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='DiscountHistory',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('old_discount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Старая скидка')),
|
|
('new_discount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Новая скидка')),
|
|
('change_date', models.DateTimeField(auto_now_add=True, verbose_name='Дата изменения скидки')),
|
|
('reason', models.TextField(blank=True, null=True, verbose_name='Причина изменения скидки')),
|
|
('discount', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.discount', verbose_name='Акция/Скидка')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='PriceListWithDiscount',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('final_price_after_discount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Итоговая цена после скидки')),
|
|
('discount', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.discount', verbose_name='Скидка')),
|
|
('price_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.pricelist', verbose_name='Прайс-лист')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='pricelist',
|
|
name='price_type',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.pricetype', verbose_name='Тип цены'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='PriceTag',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('tag_image', models.ImageField(blank=True, null=True, upload_to='price_tags/', verbose_name='Изображение ценника')),
|
|
('price_effective_date', models.DateField(verbose_name='Дата вступления в силу ценника')),
|
|
('price_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.pricelist', verbose_name='Прайс-лист')),
|
|
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.product', verbose_name='Товар')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='pricelist',
|
|
name='product',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.product', verbose_name='Товар'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='PriceChangeHistory',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('old_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Старая цена')),
|
|
('new_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Новая цена')),
|
|
('change_date', models.DateTimeField(auto_now_add=True, verbose_name='Дата изменения цены')),
|
|
('reason', models.TextField(blank=True, null=True, verbose_name='Причина изменения цены')),
|
|
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.product', verbose_name='Товар')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='discount',
|
|
name='product',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pricing.product', verbose_name='Товар'),
|
|
),
|
|
]
|