【发布时间】:2021-08-23 08:27:06
【问题描述】:
我正在使用 django 模型,其中一个字符域有一个选择列表,例如
class Ster(models.Model):
STER_PRODUCTS_CATEGORY = [
('Steam', 'Steam'),
('ETO', 'ETO'),
('Plasma', 'Plasma'),
('LTSF', 'LTSF'),
('Heat', 'Heat')
]
ster_prod_name = models.CharField(max_length=100)
ster_prod_category = models.CharField(
max_length=100, choices=STER_PRODUCTS_CATEGORY, default='None')
每当我将项目添加到任何类别时,该特定类别都会首先显示在网页上。
例如,如果我将一个项目添加到热类别,则首先显示该类别。
我正在遍历列表。我的 views.py 函数如下所示
ster_catprods = Ster.objects.values('ster_prod_category', 'id')
ster_cats = {ster_item['ster_prod_category']
for ster_item in ster_catprods}
for ster_cat in ster_cats:
ster_prod = Ster.objects.filter(ster_prod_category=ster_cat)
m = len(ster_prod)
mSlides = m // 4 + ceil((m / 4) - (m // 4))
ster_prods.append([ster_prod, range(1, mSlides), mSlides])
我的HTML模板sn-p是这样的
<section class="container">
<h4 style="margin: 1em auto">1.STER</h4>
<div class="row">
{% for p,range,mSlides in ster_prods %}
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 col-xl-4" data-aos="zoom-in-up" style="margin: 1em auto">
<h4 class="category-title my-4">{{p.0.ster_prod_category | safe}}</h4>
{% for i in p %}
<h6 class="product_title">{{i.ster_prod_name | safe }}</h6></a>
{% endfor %}
</div>
{% endfor %}
</div>
</section>
如何按照我想要的方式以特定顺序显示类别?
我想要的顺序:
蒸汽
ETO
等离子
LTSF
热
【问题讨论】:
标签: django django-models django-views django-templates