Я выполняю запрос, чтобы получить 5 последних News
элементов. В моем шаблоне я хочу отобразить первый элемент в одном месте, а затем остальные 4 вниз по странице.
В моем шаблоне я делаю что-то вроде этого:
{% for n in news|slice:":1" %}
{{ n.headline }}
{% endfor %}
... more HTML ...
{% for n in news|slice:"1:" %}
{{ n.headline }}
{% endfor %}
Когда я смотрю на панели инструментов отладки, это приводит к двум запросам к базе данных: один с LIMIT 1
и другой с LIMIT 4 OFFSET 1
, но в остальном тот же. Я ценю, что это способ Django разумно запрашивать только то, что вы на самом деле используете, но в этом случае это кажется немного чрезмерным. Какой лучший способ сделать это?