# Generated by Django 5.1.7 on 2025-04-11 06:27

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='ClasificacionProducto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100, unique=True, verbose_name='Nombre de la clasificación')),
            ],
            options={
                'verbose_name': 'Clasificación de Producto',
                'verbose_name_plural': 'Clasificaciones de Productos',
                'db_table': 'listas_clasificaciones_producto',
                'ordering': ['nombre'],
            },
        ),
        migrations.CreateModel(
            name='EmpaqueCompra',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100, unique=True, verbose_name='Tipo de empaque')),
                ('descripcion', models.TextField(blank=True, null=True, verbose_name='Descripción del empaque')),
            ],
            options={
                'verbose_name': 'Empaque para Compras',
                'verbose_name_plural': 'Empaques para Compras',
                'db_table': 'listas_empaques_compra',
            },
        ),
        migrations.CreateModel(
            name='EmpaqueProduccion',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100, unique=True, verbose_name='Tipo de empaque')),
                ('descripcion', models.TextField(blank=True, null=True, verbose_name='Descripción del empaque')),
            ],
            options={
                'verbose_name': 'Empaque para Producción',
                'verbose_name_plural': 'Empaques para Producción',
                'db_table': 'listas_empaques_produccion',
            },
        ),
        migrations.CreateModel(
            name='FormaPago',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=50, unique=True, verbose_name='Nombre de la forma de pago')),
                ('plazo_dias', models.PositiveIntegerField(default=0, verbose_name='Plazo en días')),
                ('descripcion', models.TextField(blank=True, null=True, verbose_name='Descripción adicional')),
            ],
            options={
                'verbose_name': 'Forma de Pago',
                'verbose_name_plural': 'Formas de Pago',
                'db_table': 'listas_formas_pago',
                'ordering': ['plazo_dias', 'nombre'],
            },
        ),
        migrations.CreateModel(
            name='GrupoProducto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100, unique=True, verbose_name='Nombre del grupo')),
            ],
            options={
                'verbose_name': 'Grupo de Producto',
                'verbose_name_plural': 'Grupos de Productos',
                'db_table': 'listas_grupos_producto',
                'ordering': ['nombre'],
            },
        ),
        migrations.CreateModel(
            name='UnidadMedida',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=50, unique=True, verbose_name='Nombre completo')),
                ('abreviatura', models.CharField(max_length=10, unique=True, verbose_name='Abreviatura')),
                ('tipo', models.CharField(choices=[('peso', 'Peso'), ('longitud', 'Longitud'), ('volumen', 'Volumen'), ('unidad', 'Unidad')], max_length=10, verbose_name='Tipo de unidad')),
            ],
            options={
                'verbose_name': 'Unidad de Medida',
                'verbose_name_plural': 'Unidades de Medida',
                'db_table': 'listas_unidades_medida',
                'ordering': ['nombre'],
            },
        ),
        migrations.CreateModel(
            name='SubgrupoProducto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nombre', models.CharField(max_length=100, verbose_name='Nombre del subgrupo')),
                ('grupo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subgrupos', to='listas_configuracion.grupoproducto', verbose_name='Grupo padre')),
            ],
            options={
                'verbose_name': 'Subgrupo de Producto',
                'verbose_name_plural': 'Subgrupos de Productos',
                'db_table': 'listas_subgrupos_producto',
                'ordering': ['grupo', 'nombre'],
                'constraints': [models.UniqueConstraint(fields=('grupo', 'nombre'), name='unique_subgrupo_por_grupo')],
            },
        ),
    ]
