Files
shoppy/shop/migrations/0001_initial.py
T

652 lines
22 KiB
Python

# Generated by Django 5.0.6 on 2024-05-21 17:19
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 = [
("files", "0001_initial"),
]
operations = [
migrations.CreateModel(
name="Brand",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"name",
models.CharField(
max_length=100, unique=True, verbose_name="Nombre"
),
),
],
options={
"verbose_name": "marca",
"verbose_name_plural": "marcas",
},
),
migrations.CreateModel(
name="Customer",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"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="Provider",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"vat_id",
models.CharField(
max_length=32,
unique=True,
verbose_name="Documento de identidad",
),
),
("name", models.CharField(max_length=64, verbose_name="Nombre")),
(
"email",
models.EmailField(
max_length=254, verbose_name="E-mail de contacto"
),
),
(
"phone",
models.CharField(
blank=True,
default="",
max_length=16,
null=True,
verbose_name="Teléfono de contacto",
),
),
("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": "proveedor",
"verbose_name_plural": "proveedores",
},
),
migrations.CreateModel(
name="Tag",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=16)),
],
options={
"verbose_name": "etiqueta",
"verbose_name_plural": "etiquetas",
"ordering": ("name",),
},
),
migrations.CreateModel(
name="Tax",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"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",
),
),
(
"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"
),
),
(
"uuid",
models.UUIDField(
db_index=True, default=uuid.uuid4, verbose_name="UUID"
),
),
(
"status",
models.CharField(
default="PEN", max_length=3, verbose_name="Estado"
),
),
(
"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="Product",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"sku",
models.CharField(
max_length=64, unique=True, verbose_name="Código de referencia"
),
),
("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",
),
),
("is_digital_asset", models.BooleanField(default=False)),
("url", models.URLField(blank=True, verbose_name="URL de descarga")),
(
"brand",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="shop.brand",
verbose_name="Marca",
),
),
(
"images",
models.ManyToManyField(
blank=True, to="files.fileupload", verbose_name="Imágenes"
),
),
(
"tags",
models.ManyToManyField(
blank=True, to="shop.tag", verbose_name="Etiquetas"
),
),
],
options={
"verbose_name": "producto",
"verbose_name_plural": "productos",
"ordering": ("-id",),
},
),
migrations.CreateModel(
name="OrderLine",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"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="ProductBatch",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"code",
models.CharField(
db_index=True, max_length=32, unique=True, verbose_name="Código"
),
),
(
"quantity",
models.DecimalField(
decimal_places=4,
default=Decimal("1"),
max_digits=13,
verbose_name="Cantidad",
),
),
(
"expiration_date",
models.DateField(
blank=True,
null=True,
verbose_name="Fecha de caducidad / consumo preferente",
),
),
(
"product",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="shop.product",
verbose_name="Producto",
),
),
(
"provider",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="shop.provider",
verbose_name="Proveedor",
),
),
],
options={
"verbose_name": "remesa de producto",
"verbose_name_plural": "remesas de productos",
},
),
migrations.CreateModel(
name="ProductPrice",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"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"
),
),
(
"price",
models.DecimalField(
decimal_places=2, max_digits=11, verbose_name="Precio"
),
),
(
"date",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="Fecha"
),
),
(
"current",
models.BooleanField(
default=False, verbose_name="Es el precio actual"
),
),
(
"product",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="prices",
to="shop.product",
verbose_name="Producto",
),
),
(
"tax",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="shop.tax",
verbose_name="Impuesto aplicable",
),
),
],
options={
"verbose_name": "precio de producto",
"verbose_name_plural": "precio de producto",
},
),
]