У меня есть эта база данных, где я хранящий одежду из различных розничных торговцев:Как правильно соотносить данные?
- Таким образом, каждый продукт имеет различные цвета
- Каждый продукт также имеет различные размеры
- Каждый размер имеет также различные цвета
- Теперь для каждый продукт и для каждого разного размера и цвета могут быть разные цены.
Я использую Django для этого, и я задаю любые мысли о том, как это отношение базы данных может сработать.
Будет ли у меня что-то вроде этого?
class Product(models.Model):
name = model.CharField()
class Size(models.Model):
size_of_product = model.CharField()
product = model.ForeignKey(Product)
class Color(models.Model):
color_of_product = model.CharField()
product = model.ForeignKey(Product)
size = model.ManyToManyField(Size,though="Price")
class price(model.Model):
size = model.ForeignKey(Size)
color = model.ForeignKey(Color)
date =model.Date()
Может ли кто-нибудь предложить мне лучшее решение, потому что, очевидно, у меня нет большой практики с базами данных?
Спасибо!
Спасибо! Очень хорошо! Единственное, что я могу иметь комбинацию размера и цвета с разными ценами, и я не знаю, могу ли я это достичь. Так как цвет: синий размер: средний будет иметь одну цену, а цвет: красный с размером: средний может иметь другой размер. – Nazariy1995
Вы можете определенно добиться этого с помощью * обоих * подходов. Я думаю, что очевидно, что при первом подходе вы просто добавите «ProductPrice» для продукта X со значениями (X, синий, средний, цена1) и (X, красный, средний, цена2). Что касается второго подхода, вы просто добавите два '' продукта '' с разными ценами и * разными * значениями (один с красным и средним, а другой с синим и средним) – Serafeim