#django
#django
Вопрос:
У меня есть веб-сайт django. У меня есть следующие модели:
class Category(models.Model):
type=models.CharField(max_length=30)
class Product(models.Model):
category = models.ForeignKey(Category, on_delete = models.CASCADE)
Это мой URL для страницы продуктов:
path("products/<str:type>/",views.category,name="category"),
Что я хочу сделать, так это то, что я хочу отобразить продукты типа, переданного в URL.Это мой views.py:
def category(request,type):
prods=Product.objects.filter(category.type=type)
context = {
'categories':Category.objects.all(),
'prods' : prods,
}
return render(request,"category.html",context)
но это выдает ошибку, которую мне нужно использовать == в filter. и если я просто использую prods=Product.objects.filter(category=type)
, то он запрашивает идентификатор категории из модели категории, а не тип категории. Что может быть исправлено таким образом, чтобы, если я передам leather в filter (в URL как type), в моем шаблоне отображались только товары с category.type= leather.
Ответ №1:
Попробуйте это с нижеприведенным.
prods=Product.objects.filter(category__type=type)