# Generated by Django 5.1.2 on 2025-01-28 17:00

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='DollorModel',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('price', models.FloatField(blank=True, null=True, verbose_name='قیمت دلار')),
                ('defualt_price', models.FloatField(blank=True, default=80000.0, null=True, verbose_name='قیمت دستی')),
                ('unique_filed', models.CharField(choices=[('unique', 'unique')], default='unique', max_length=20, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='MainCategoryModel',
            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(help_text='اسم دسته را برای مسیر به انگلیسی و بدون فاصله وارد کنید', unique=True)),
                ('icon', models.ImageField(blank=True, null=True, upload_to='category_model/', verbose_name='آیکون')),
                ('meta_title', models.CharField(blank=True, help_text='عنوان متا برای SEO', max_length=60, null=True, verbose_name='عنوان متا')),
                ('meta_description', models.TextField(blank=True, help_text='توضیحات متا برای SEO', max_length=160, null=True, verbose_name='توضیحات متا')),
            ],
            options={
                'verbose_name': 'دسته\u200cبندی اصلی',
                'verbose_name_plural': 'دسته\u200cبندی\u200cهااصلی',
            },
        ),
        migrations.CreateModel(
            name='ProductModel',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='نام')),
                ('description', models.TextField(verbose_name='توضیحات')),
                ('price', models.PositiveIntegerField(default=0, verbose_name='قیمت')),
                ('currency', models.CharField(choices=[('dollor', 'دلار'), ('toman', 'تومان'), ('derham', 'درهم')], max_length=20, verbose_name='نوع ارز')),
                ('image1', models.ImageField(upload_to='product_images/', verbose_name='عکس اول')),
                ('image2', models.ImageField(blank=True, null=True, upload_to='product_images/', verbose_name='عکس دوم')),
                ('image3', models.ImageField(blank=True, null=True, upload_to='product_images/', verbose_name='عکس سوم')),
                ('video', models.FileField(blank=True, null=True, upload_to='product_videos/', verbose_name='ویدیو')),
                ('rating', models.PositiveIntegerField(default=0, verbose_name='امتیاز')),
                ('show', models.BooleanField(default=False, verbose_name='نمایش در خانه')),
                ('view', models.IntegerField(default=0, verbose_name='بازدید')),
                ('sell', models.IntegerField(default=0, verbose_name='فروش')),
                ('in_stock', models.IntegerField(default=0, verbose_name='تعداد موجود')),
                ('discount', models.SmallIntegerField(default=0, verbose_name='تخفیف')),
                ('slug', models.SlugField(allow_unicode=True, blank=True, help_text='این فیلد را خالی بگذارید', null=True, unique=True, verbose_name='نام یکتا')),
                ('meta_description', models.CharField(blank=True, help_text='این فیلد را حتما پر کنید', max_length=300, null=True)),
                ('meta_keywords', models.CharField(blank=True, help_text='این فیلد را حتما پر کنید', max_length=300, null=True)),
                ('meta_rating', models.FloatField(default=5, help_text='امتیاز محصول')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='زمان ثبت محصول')),
            ],
        ),
        migrations.CreateModel(
            name='CommentModel',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('content', models.TextField(verbose_name='محتوای نظر')),
                ('timestamp', models.DateTimeField(auto_now_add=True, verbose_name='زمان ثبت کامنت')),
                ('show', models.BooleanField(default=True, verbose_name='نشان دادن کامنت')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر')),
                ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='product.productmodel', verbose_name='محصول')),
            ],
            options={
                'verbose_name': 'نظر',
                'verbose_name_plural': 'نظرات',
            },
        ),
        migrations.CreateModel(
            name='SubCategoryModel',
            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(help_text='اسم دسته را برای مسیر به انگلیسی و بدون فاصله وارد کنید', unique=True)),
                ('icon', models.ImageField(blank=True, null=True, upload_to='category_model/', verbose_name='آیکون')),
                ('meta_title', models.CharField(blank=True, help_text='عنوان متا برای SEO', max_length=60, null=True, verbose_name='عنوان متا')),
                ('meta_description', models.TextField(blank=True, help_text='توضیحات متا برای SEO', max_length=160, null=True, verbose_name='توضیحات متا')),
                ('show', models.BooleanField(default=False, verbose_name='نمایش در خانه')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subcategorys', to='product.maincategorymodel', verbose_name='دسته\u200cبندی والد')),
            ],
            options={
                'verbose_name': 'زیر دسته\u200cبندی',
                'verbose_name_plural': 'زیر دسته\u200cبندی\u200cها',
            },
        ),
        migrations.AddField(
            model_name='productmodel',
            name='category',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='products', to='product.subcategorymodel', verbose_name='دسته بندی محصول'),
        ),
    ]
