Я пытаюсь создать электронную торговлю и настроить варианты продукта и атрибуты.В моих моделях вариантов продукта я хотел бы получить доступ ко всем выбранным атрибутам из соответствующего продукта и добавить значение для каждого продукта.
Например, если я создаю новый продукт и выбираю два атрибута для вариантов: цвет и размер, я хотел бы иметь возможность динамически создавать поле для каждого из них при создании варианта для этого продукта.
Вот что у меня есть в моем файле models.py:
class Product(models.Model) :
name = models.CharField(max_length=120)
price = models.DecimalField(max_digits=10, decimal_places=2)
image = models.ImageField(upload_to='products')
allow_variants = models.BooleanField(default=True)
product_attributes = models.ManyToManyField("attribute")
def __str__(self) :
return self.name
class Meta :
ordering = ("name",)
class Attribute(models.Model) :
name = models.CharField(max_length=120)
def __str__(self) :
return self.name
def get_all_attr_variants(self) :
variants = AttributeVariant.objects.filter(attribute__name=self.name)
return variants
class AttributeVariant(models.Model) :
name = models.CharField(max_length=120)
attribute = models.ForeignKey(Attribute, on_delete=models.CASCADE)
def __str__(self) :
return self.name
class Meta :
ordering = ('name',)
class ProductVariant(models.Model) :
Пожалуйста, помогите мне, если у вас есть идеи, как я могу это сделать.
Спасибо!