Сортировка с использованием href - Django

Я пытаюсь отсортировать данные по заголовку столбца таблицы. Я использую метод GET.get, но кажется, что он не работает. Ссылка создается, но после нажатия на нее, url меняется, но таблица не сортируется соответствующим образом.

def offer_sorting(request):
    
    sort_column = request.GET.get('sort_by', 'date')
    slist = Offer.objects.order_by(sort_column)
    
    context = {"offers": slist}
    return render(request, 'main/offer.html', context)

шаблон:

<!DOCTYPE html>
<html>


{% extends "main/header.html" %}


{%  block content %}
<div class="row">
    <div class="col-md">
        <div>
            
            <h1> Offers </h1>
            <br>
        </div>
        <p align = "right">
            
                <br>
                <a class="waves-effect waves-light btn-large" href = "submitoffer/">New Offer</a>
        </p>
        <div class="card card-body">
            <table class="table">
                <thead>
                    <tr>
                        <th><a href="{% url 'main:Offers' %}?sort_by=location_name">Location</a></th>
                        <th>Date</th>
                        <th>Minerals</th>
                        <th>Chemical Analysis</th>
                        <th>User</th>
                    </tr>
                </thead>
                <tbody>
                    {% for offer in offers %}
                    <tr>
                        <td>{{offer.location_name}}</td>
                        <td>{{offer.date}}</td>
                        <td>{{offer.minerals}}</td>
                        <td>{{offer.chem_anal}}</td>
                        <td>{{offer.user_data}}</td>
                        
                        <td> <a class="waves-effect waves-light btn" href = "{% url 'main:details' pk_test=offer.id %}" >Details</a> </td>
                        <td> <a class="waves-effect waves-light btn" href = "{% url 'main:bid' pk_test=offer.id %}" >Bid</a> </td>
                    </tr>
                    {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>

{% endblock content %}


</html>

модель Offer включает следующие поля, которые будут использоваться для сортировки:

  • минералы
  • дата
  • имя_локации

Где в html находятся поля sort_by и date? Я не вижу их, вам нужно поместить их внутрь формы (которая имеет метод get и имеет кнопку или поле ввода для отправки их значений в django view) -... Husam Alhwadi 1

Вернуться на верх