我有两个型号。产品和类别。每个产品都有一个类别,类别有一个slug。现在,当您调用网址'/catalog/adventure/'
时,您应该会看到一个包含所有“冒险”类别产品的列表,当您编写“操作”时,您应该会看到操作产品等。
所以我做了一个listView
class BookListView(ListView):
template_name = 'project/shop/product-list-view.html'
def get_queryset(self):
category = get_object_or_404(Category, path=self.kwargs['slug'])
products = Product.objects.all().filter()
return products
我需要写什么.filter()?
答案 0 :(得分:0)
在这里查看您的模型会有所帮助,但假设Product有一个ForeignKey to Category,它应该简单如下:
products = Product.objects.all().filter(category=category)
答案 1 :(得分:0)
假设Product有一个ForeignKey to Category,我宁愿建议使用与related_name的向后关系:
class Product(models.Model):
...
category = models.ForeignKey(Category, related_name='products')
...
并在您看来:
products = category.products.all()
不需要过滤器。