Django сортировка по дате, имени
Я новичок в Django, и я хочу сортировать свои запросы по дате или имени. Я сделал это, но я также хочу сделать опцию, чтобы изменить это на сайте. Я нигде не нашел ответа, как это сделать. Может, я иду неправильным путем? Я пытался сделать это так:
{% block content %}
<h1 class="tytul">Lokalizacja plików</h1>
<div class="naglowek">
<div class="card card-body">
<p>Wyszukaj plik</p>
<form method="get">{{myFilter.form}}
<button class="button" type="submit">
Wyszukaj
</button>
</form>
<div class="sortowanie">Wybierz po czym sortować:
<select class="sort">
<option>Nazwa</option>
<option>Data</option>
</select>
</div>
</div>
</div>
HTML
{% for plik in obj %}
<div class="row">
<div class="com">
{{plik.nazwa}}
</div>
<div class="com">
{{plik.data}}
</div>
<div class="com">
{{plik.lokalizacja}}
</div>
<div class="przy">
<a href="{% url 'download' plik.lokalizacja %} " class="button">pobierz</a>
</div>
</div>
{% endfor %}
</div>
{% endblock %}
Я пытаюсь сделать опцию для изменения сортировки по дате и имени пользователя
Вы можете использовать параметры запроса, чтобы изменить сортировку запроса в представлении, а также иметь значение по умолчанию, если пользователь ничего не указал. Однако страница будет обновляться один раз при каждом запросе. Если вы используете AJAX, то при каждом запросе будет обновляться только раздел вопросов, что требует некоторых базовых знаний front-end и JavaScript.
В вашем представлении есть строка sort_by
(которая, возможно, поступила от пользователя как ChoiceField формы с сортировкой по строкам в качестве значений). Сгенерируйте набор запросов, как сейчас. Затем измените его
query = query.order_by( sort_by)
Для получения чрезвычайно широких возможностей фильтрации и сортировки, управляемых пользователем, не пытайтесь создавать свои собственные. Узнайте о django-filter!