356 lines
12 KiB
Python
356 lines
12 KiB
Python
# 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",
|
|
},
|
|
),
|
|
]
|