基于Django类的列表视图

2024-10-03 11:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从具有m个条目的模型中获取n个条目的列表

Indetail…..我有一个50个条目的模型,我希望使用内置的基于类的ListView从这50个条目中得到一个6个ramdom条目的查询集

我是公文包列表给我所有的项目模型目前,但我只需要随机6个项目的索引列表显示

views.py

class PortfolioListView(ListView):
    model = Portfolio
    template_name = 'portfolio/portfolio_index.html'

公文包清单.html

{% block Body_Content %}
  {% for item in portfolio_list %}
    <div class="card-group">
      {% include "portfolio/_portfolio.html"  %}
    </div>
  {% endfor %}
{% endblock Body_Content %}

Tags: 项目模型目的div列表html条目body
2条回答

您可以重写get_queryset方法来构建自定义查询集

def get_queryset(self):
    return Portfolio.objects.order_by('?')[:6]

Note: order_by('?') queries may be expensive and slow, depending on the database backend you’re using.

您可以通过在queryset属性中设置它来实现这一点,例如:

from django.views.generic.list import ListView

class PortfolioListView(ListView):
    model = Portfolio
    queryset = Portfolio.objects.order_by('?')[:6]
    template_name = 'portfolio/portfolio_index.html'

相关问题 更多 >