[英]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.