Я изучаю модели в Django, где я пытаюсь создать модель для продукта электронной коммерции.На данный момент я разработал следующую схему:
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=80)
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
total_stock = models.PositiveIntegerField(default=0)
def __str__(self):
return self.name
class Attribute(models.Model):
'''
attribute can be like color, material, size and many more
'''
name = models.CharField(max_length=80)
def __str__(self):
return self.name
class AttributeValue(models.Model):
'''
Values for the selected attribute like for size attr
the values can be Large, Medium, Small and etc
'''
name = models.CharField(max_length=100)
attribute = models.ForeignKey(Attribute, on_delete=models.CASCADE)
price = models.DecimalField(decimal_places=2, max_digits=10)
discount = models.DecimalField(decimal_places=2, max_digits=10)
stock = models.PositiveIntegerField(default=0)
def __str__(self):
return self.name
class ProductAttribute(models.Model):
'''
Associate Particular attribute to Particular product
'''
product = models.ForeignKey(Product, on_delete=models.CASCADE)
attribute = models.ForeignKey(Attribute, on_delete=models.CASCADE)
def __str__(self):
return self.product.name
class ProductImage(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
image = models.ImageField(upload_to = 'pic_folder/')
def __str__(self):
return self.product.name
Мой вопрос: когда я исследовал масштабируемый дизайн продукта электронной коммерции (масштабируемый с точки зрения лучшего отношения к таблице и охватывающий большинство факторов электронной торговли)), Я видел различные таблицы, такие как ProductVariant
, ProductVariantImage
, ProductOptions
и т. Д. Поэтому я запутался в этой терминологии.Может ли кто-нибудь помочь мне, чтобы я понял, что с примером и как я могу настроить эти таблицы в моем models.py
?
Вот ссылка
https://i.imgur.com/qGDBz29.png