【发布时间】:2020-02-10 21:03:25
【问题描述】:
我正在尝试创建一个页面,我可以在其中循环遍历我的所有类别以及每个类别中的所有产品。
类似这样的:
Category 1:
product1
product2
product3
Category 2:
product1
product2
product3
Category 3:
product1
product2
product3
views.py
def model_categories_view(request):
context = {
"categories": ProductCategory.objects.all(),
"models": ProductModel.objects.filter(???),
}
return render(request=request, template_name='main/categories.html', context=context)
categories.html
{% for category in categories %}
<h1>{{category.title}}</h1>
{% for model in models %}
{{model.title}}
{% endfor %}
{% endfor %}
models.py
class ProductModel(models.Model):
title = models.CharField(max_length=80)
category = models.ManyToManyField(ProductCategory)
model_slug = AutoSlugField(null=True, default=None,
unique=True, populate_from='title')
class Meta:
verbose_name_plural = "Models"
def __str__(self):
return self.title
class ProductCategory(models.Model):
title = models.CharField(max_length=50)
category_slug = AutoSlugField(null=True, default=None,
unique=True, populate_from='title')
class Meta:
verbose_name_plural = "Product Categories"
def __str__(self):
return self.title
如何列出当前正在迭代的类别的所有模型?
【问题讨论】:
-
可以分享一下相关型号吗?
-
@WillemVanOnsem 完成
-
可能
BoatCategory是ProductCategory或反之亦然? -
是的,我正在尝试简化我的模型
标签: django django-models django-templates django-views