Я работаю с сайтом электронной коммерции. Мне нужно добавить несколько вариантов для одного продукта. ie. Рубашка может быть разного цвета и размера.
Мои модели идут здесь:
Class Product (models.Model):
product_name= models.CharField(max_length=150)
..
..
..
def __str__(self):
return self.product_name
class Color(models.Model):
product = models.Forignkey(Product, on_ delete = models.CASCADE)
color_name = models.CharField(max_length=150)
..
..
..
def __str__(self):
return f'{self.product.product_name} |{self.color_name}'
class Size(models.Model):
product = models.Forignkey(Product, on_ delete = models.CASCADE)
size_letter = models.CharField(max_length=150)
..
..
..
def __str__(self):
return f'{self.product.product_name} | {self.size_letter}
class Productimage(models.Model):
product = models.ForeignKey(Product, on_delete = models. CASCADE)
image_1 = models.ImageField(default ='product.jpg', upload_to ='product_images')
..
..
..
def __str__(self):
return f'{self.product.product_name} - images'
И мой взгляд
Class ProductDetailView(ListView):
template_name = 'customer/product_detail.html'
model = Product
Как я могу получить доступ ко всем продуктам на одной странице ?? С его изображениями на шаблоне. Мне нужен доступ ко всей приведенной выше таблице при запросе только к таблице Product.
Я пытался с
Product.objects.filter(productimage__product=1)
Но это возвращает одиночную строку .. Мне нужны все объекты
Я думаю, что это своего рода объединение этих таблиц с использованием product_id.
Но не знаю, как объединить эти таблицы.
Действительно нужна помощь .. Я застрял .. !!
Заранее спасибо .. ?