Архитектура базы данных для товаров у который цена различается в зависимости от цвета
Использую python 3.9, Django 3 и MySQL 8. Подскажите пожалуйста как можно реализовать таблицы в БД в такой ситуации (и как потом выводить только один из товаров на странице каталога товаров):
Допустим у меня есть товар "Коляска №1". Она может иметь три цвета: белый, красный, синий.
Коляска № 1 белая - 20 000 р.
Коляска № 1 красная - 21 000 р.
Коляска № 1 синяя - 19500 р.
Также есть товар Коляска № 2. Она также может иметь несколько цветов: белый, оранжевый, коричневый.
Коляска № 2 белая - 11 000 р.
Коляска № 2 оранжевая - 10 000 р.
Коляска № 2 коричневая - 11500 р.
Т.е. каждый товар может иметь несколько цветов и для каждого цвета будет своя цена. При этом один и тот же цвет может быть у нескольких товаров. При этом на странице каталога товаров я хочу выводить только один товар (любого цвета) и уже внутри в карточке товара покупатель будет выбирать цвет.
Заранее спасибо, тем кто откликнется!
Ответы (1 шт):
create table colors(
id
name varchar(255)
);
create table products(
id
name varchar(255),
description text
);
create table product_variants (
id
product_id
color_id
default_variant bool,
price numeric(8,2)
);
я бы сделал примерно так.