Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

321
Vistas
Modelo de productos Django para sitio de comercio electrónico

Estoy tratando de crear un sitio de comercio electrónico de muestra con Django y estoy tratando de averiguar cómo puedo modelar la relación entre un producto que tiene varios tamaños y cada uno de esos tamaños tiene sus existencias individuales. :

 from django.db import models from colorfield.fields import ColorField # Create your models here. class Color(models.Model): Color = models.CharField(max_length=120,null=True,blank=True) value = ColorField(default='#FF0000') def __str__(self): return self.Color class Size(models.Model): Size = models.CharField(max_length=120,null=True,blank=True) def __str__(self): return self.Size class Product(models.Model): title = models.CharField(max_length=120,null=True,blank=True) def __str__(self): return self.title class ProductVaraiant(models.Model): product = models.ForeignKey(Product,on_delete=models.CASCADE,null=True,blank=True) slug = models.CharField(max_length=120,null=True,blank=True) Color = models.ForeignKey(Color,on_delete=models.CASCADE,null=True,blank=True,) Size = models.ManyToManyField(Size) def __str__(self): return self.slug
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Dado que entiendo bien el problema, debe hacer una variante para combinaciones de product , size y color , así con ForeignKey s para los otros tres modelos. Además, puede crear una UniqueConstraint para evitar ingresar la misma ProductVariant de producto para la tupla de 3 colores/tamaño/producto. El modelo ProductVariant también puede tener un IntegerField con el número de artículos en stock:

 class ProductVaraiant(models.Model): product = models. ForeignKey( Product,on_delete=models.CASCADE ) color = models. ForeignKey( Color,on_delete=models.CASCADE ) size = models. ForeignKey( Size, on_delete=models.CASCADE ) amount_in_stock = models.IntegerField() class Meta: constraints = [ models. UniqueConstraint( fields=['product', 'color', 'size'], name='unique_prod_color_size_combo' ) ]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda