簡體   English   中英

基於 Django Class 的列表視圖

[英]Django Class based list view

如何從具有 m 個條目的 model 獲取 n 個 model 條目的列表

詳細.....我有一個包含 50 個條目的 model 我想要使用內置的基於 class 的 ListViews 的 50 個條目中的 6 個隨機條目的查詢集。

我是投資組合列表,給我 model 的所有條目,但我只需要隨機 6 個條目來顯示索引列表。

視圖.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 %}

您可以覆蓋get_queryset方法來構建您的自定義查詢集。

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

注意: order_by('?') 查詢可能既昂貴又緩慢,具體取決於您使用的數據庫后端。

您可以通過在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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM