Django Просмотр списка на основе классов - PullRequest
0 голосов
/ 14 июля 2020

Как получить список из n записей модели из модели, имеющей m записей

Отдельно ..... У меня модель из 50 записей, мне нужен набор запросов из 6 записи ramdom из этих 50 записей с использованием встроенных списков ListView на основе классов.

Я список_портфолио предоставил мне все записи модели, но мне нужны только случайные 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 %}

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Вы можете сделать это, установив его в атрибуте queryset, например:

from django.views.generic.list import ListView

class PortfolioListView(ListView):
    model = Portfolio
    queryset = Portfolio.objects.<b>order_by('?')[:6]</b>
    template_name = 'portfolio/portfolio_index.html'
1 голос
/ 14 июля 2020

вы можете переопределить метод get_queryset для создания собственного набора запросов.

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

Примечание: запросы order_by ('?') Могут быть дорогими и медленными, в зависимости от вашей базы данных. повторное использование.

...