我有两种型号,即cat 眼和产品.在我的主页上,我列出了多个类别,当我点击任何类别时,我想打开一个新页面,其中显示属于该类别的产品. 我正在通过url将ategory_id传递到产品查看页面.但是我希望通过使用ategory_id和类别模型来提取类别.title,这样我就可以在Products页面上显示它. 我附上了我的模型的代码
class category(models.Model):
title = models.CharField(max_length=30)
image = models.ImageField(null=True, blank=True)
def __str__(self):
return self.title
class product(models.Model):
name = models.CharField(max_length=50, null=True, blank=True)
slug = models.SlugField(null=True, blank=True)
description = models.TextField(max_length=500,null=True, blank=True )
category = models.ForeignKey(category, on_delete=models.CASCADE)
cost = models.PositiveIntegerField()
image = models.ImageField(null=True, blank=True)
def save(self, *args, **kwargs): # new
self.slug = slugify(self.name)
return super().save(*args, **kwargs)
def __str__(self):
return self.name
我能做的最好的事情就是将ategory_id附加到上下文中,但无论如何它都不是Helpl in.
class products(ListView):
model = product
template_name = 'products/productList.html'
context_object_name = 'products'
def get_context_data(self, **kwargs):
context = super(products, self).get_context_data(**kwargs)
context['category'] = self.kwargs['cat_id']
return context
URL如下所示:
path('<int:cat_id>', products.as_view(), name = 'products'),
The output I want should look like this: I referred to some stackoverflow questions but couldn't find anything helpul.