我正在使用django中的一个模板,试图从相关对象数组中发现特定数量的随机项
现在我显示数组中的所有项,我可以做什么更改
{% for pdt in object.pdt_set.all %}
<div class="ps-product ps-product--simple">
<div class="ps-product__thumbnail">
<a href="{% url 'pdtdetail' pdt.id %}"><img src="{{ pdt.image.ur }}"alt=""></a>
<div class="ps-product__badge">-16%</div>
<ul class="ps-product__actions">
<li><a href="#" data-toggle="tooltip" data-placement="top" title="Read More"><i
class="icon-bag2"></i></a></li>
<li><a href="#" data-placement="top" title="Quick View" data-toggle="modal"
data-target="#product-quickview"><i class="icon-eye"></i></a></li>
<li><a href="#" data-toggle="tooltip" data-placement="top" title="Add to Whishlist"><i
class="icon-heart"></i></a></li>
<li><a href="#" data-toggle="tooltip" data-placement="top" title="Compare"><i
class="icon-chart-bars"></i></a></li>
</ul>
</div>
<div class="ps-product__container">
<div class="ps-product__content" data-mh="garden"><a class="ps-product__title"
href="product-default.html">{{ pdt.name }}</a>
<div class="ps-product__rating">
<select class="ps-rating" data-read-only="true">
<option value="1">1</option>
<option value="1">2</option>
<option value="1">3</option>
<option value="1">4</option>
<option value="2">5</option>
</select><span>01</span>
</div>
<p class="ps-product__price sale">$ {{ pdt.price }} </p>
</div>
</div>
</div>
{% endfor %}
因为您正在使用此查询集:{%for pdt in object.pdt_set.all%}
你所要做的就是随机化它并限制你选择的结果的数量
{%for pdt in object.pdt_set.order_by('?').limit(5)%}
或
{%for pdt in object.pdt_set.order_by('?')[:5]%}
将%5替换为所需的任意数量的记录
参见:
如何使用Django的ORM拉取随机记录?
Django限制查询结果