# Generated by Django 5.0.3 on 2024-03-24 22:50 import django.db.models.deletion import django.utils.timezone import uuid from decimal import Decimal from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name="Customer", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "vat_id", models.CharField( max_length=32, unique=True, verbose_name="Documento de identidad", ), ), ("first_name", models.CharField(max_length=64, verbose_name="Nombre")), ( "last_name", models.CharField(max_length=64, verbose_name="Apellidos"), ), ("email", models.EmailField(max_length=254, verbose_name="E-mail")), ("address", models.CharField(max_length=255, verbose_name="Dirección")), ("city", models.CharField(max_length=64, verbose_name="Ciudad")), ("state", models.CharField(max_length=64, verbose_name="Región")), ("country", models.CharField(max_length=64, verbose_name="País")), ("zip", models.CharField(max_length=32, verbose_name="Código postal")), ], options={ "verbose_name": "Cliente", "verbose_name_plural": "Clientes", }, ), migrations.CreateModel( name="Product", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("name", models.CharField(max_length=96, verbose_name="Nombre")), ( "description", models.CharField( blank=True, default="", max_length=1000, verbose_name="Descripción", ), ), ( "stock", models.DecimalField( decimal_places=4, default=Decimal("0"), max_digits=13, verbose_name="Stock", ), ), ( "unit", models.CharField( choices=[("UNIT", "Unidad"), ("KG", "kg"), ("L", "L")], default="UNIT", max_length=6, verbose_name="Unidad de medida", ), ), ], options={ "verbose_name": "Producto", "verbose_name_plural": "Productos", }, ), migrations.CreateModel( name="Tax", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "code", models.CharField( max_length=8, unique=True, verbose_name="Código de impuesto" ), ), ( "value", models.PositiveIntegerField( verbose_name="Valor entero (porcentaje)" ), ), ], options={ "verbose_name": "Impuesto", "verbose_name_plural": "Impuestos", }, ), migrations.CreateModel( name="Order", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("uuid", models.UUIDField(default=uuid.uuid4, verbose_name="UUID")), ( "creation_date", models.DateTimeField( auto_now_add=True, verbose_name="Fecha de creación" ), ), ( "last_modification_date", models.DateTimeField( auto_now=True, verbose_name="Fecha de última modificación" ), ), ( "base_total", models.DecimalField( decimal_places=2, default=Decimal("0"), max_digits=13, verbose_name="Base imponible", ), ), ( "total", models.DecimalField( decimal_places=2, default=Decimal("0"), max_digits=13, verbose_name="Total", ), ), ( "billing_address", models.CharField( max_length=255, verbose_name="Dirección de facturación" ), ), ( "billing_city", models.CharField( max_length=64, verbose_name="Ciudad de facturación" ), ), ( "billing_state", models.CharField( max_length=64, verbose_name="Región de facturación" ), ), ( "billing_country", models.CharField(max_length=64, verbose_name="País de facturación"), ), ( "billing_zip", models.CharField( max_length=32, verbose_name="Código postal de facturación" ), ), ( "shipping_address", models.CharField(max_length=255, verbose_name="Dirección"), ), ( "shipping_city", models.CharField(max_length=64, verbose_name="Ciudad"), ), ( "shipping_state", models.CharField(max_length=64, verbose_name="Región"), ), ( "shipping_country", models.CharField(max_length=64, verbose_name="País"), ), ( "shipping_zip", models.CharField(max_length=32, verbose_name="Código postal"), ), ( "contact_phone", models.CharField( blank=True, max_length=32, verbose_name="Teléfono de contacto" ), ), ( "customer", models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to="shop.customer", verbose_name="Cliente", ), ), ], options={ "verbose_name": "Pedido", "verbose_name_plural": "Pedidos", }, ), migrations.CreateModel( name="OrderLine", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "quantity", models.DecimalField( decimal_places=4, default=Decimal("1"), max_digits=13, verbose_name="Cantidad", ), ), ( "price", models.DecimalField( decimal_places=4, max_digits=13, verbose_name="Precio" ), ), ( "base_total", models.DecimalField( decimal_places=4, default=Decimal("0"), max_digits=13, verbose_name="Total sin impuestos", ), ), ( "tax_value", models.PositiveIntegerField(verbose_name="Valor de impuestos"), ), ( "taxes", models.DecimalField( decimal_places=4, max_digits=13, verbose_name="Impuestos" ), ), ( "total", models.DecimalField( decimal_places=4, max_digits=13, verbose_name="Total" ), ), ( "order", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="lines", to="shop.order", verbose_name="Pedido", ), ), ( "product", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="shop.product", verbose_name="Producto", ), ), ], options={ "verbose_name": "Línea de pedido", "verbose_name_plural": "Líneas de pedido", }, ), migrations.CreateModel( name="ProductPrice", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "price", models.DecimalField( decimal_places=2, max_digits=11, verbose_name="Precio" ), ), ( "date", models.DateTimeField( default=django.utils.timezone.now, verbose_name="Fecha" ), ), ( "product", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="prices", to="shop.product", verbose_name="Producto", ), ), ], options={ "verbose_name": "Precio de producto", "verbose_name_plural": "Precio de producto", }, ), ]