Как получить только первые "N" элементов из postgres через представления в Django, используя jinja - PullRequest
2 голосов
/ 28 марта 2020

Я использую Django и postgres.

Мой views.py выглядит так:

def home(request):
    title = Scrap.objects
    return render(request, 'index.html', {'headlines': headlines})

Мой index. html выглядит так:

 <div class="content"
    style="background:white; color: white; font-family: Verdana;font-weight: 5;text-align: center;">
    {% for headline in headlines.all reversed %}
        <a href="{{ headline.url }}" target="_blank" style="color:black; font-size: medium;" />{{ headline.headlines }}</a>
        <hr style="border-bottom: dotted 1px #000" />
    {% endfor %}
  </div>

С помощью приведенного выше кода я получаю все строки из базы данных. Как я могу получить только "N" строк?

Я пробовал :

{% for headline in headlines.all[:5] reversed %}

, но выдает ошибку.

Не удалось разобрать остаток: '[: 5]' из 'headlines.all [: 5]'

Ответы [ 2 ]

2 голосов
/ 28 марта 2020

похоже, что вы попали в неправильный учебник. Этот ответ, возможно, не является точным ответом, который вы можете искать , но это даст вам идею

# views.py
def home(request):
    <b>limit = 5
    queryset = MyModel.objects.all()[:limit]</b>
    return render(request, 'index.html', <b>{'queryset': queryset}</b>)

# index.html
{% for headline in <b>queryset</b> reversed %}
    {{ headline }}
{% endfor %}
0 голосов
/ 28 марта 2020

Если вы хотите последний (последние N строк, которые добавляются в базу данных):

MyModel.objects.all().order_by('-id')[:10]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...