Получение записей из таблицы и печать в файле views.py django

Я создаю веб-страницу на Django, где я печатаю несколько строк, используя таблицу из DB. Мне нужно получить нажатие пользователя и выполнить отдельное действие для каждой кнопки динамически. Вот мой home.html

<div>
            <table style="width:90%">
              {% for request_ in request_index %}
                <tr>
                  <form method="POST" action="{% url 'Request_for_DB_1' %}" enctype="multipart/form-data">
                    {% csrf_token %}
                  <td><b> Would you like {{ request_.id }} to give {{ request_.user_name }} permission? </b></td>
                  <td>&nbsp; </td>
                  
                  <td><input style="background-color:#CFCFCF; color:blue" type="submit" value="Yes" name={{ request_.id }}></td>
                  <td><input style="background-color:#CFCFCF; color:blue" type="submit" value="No" name={{ request_.id }}></td>
                  </form>                  
                </tr>
                {% endfor %}
              </table>
          </div>

Вот Views.py

def Request_for_DB_1(request):
    request_index = Permission_Request.objects.all()
    user_id = request_index.id
    current_user = request.POST.get('name')
    if user_id == current_user:
        clicked_user = "Condition is Correct... " 
    else:
        clicked_user = "Condition is Wrong... " 
    messages.info (request, clicked_user )
    return redirect('/')

В этом представлении я получаю current_user = None всегда и эта ошибка Объект "QuerySet" не имеет атрибута 'id'

Изображение моей таблицы и имя таблицы "Permission_Request"

Пожалуйста, подскажите мне, как решить эту проблему.

При использовании .all() вы получаете набор запросов. То есть все объекты модели разрешения.

Так вы не можете использовать id, потому что это поле модели, которое вы можете сделать только на одном объекте.

Итак, что вы хотите сделать, это

request_index = Permission_Request.objects.get(<someFilter>)

Тогда вы можете использовать id или любое другое поле в вашей модели.

Я предполагаю, что someFilter должен быть основан на вашем запросе. Возможно, даже послать в запросе id и затем получить модель по ее id.

Здесь я исправляю это home.html

{% for request_ in request_index %}
                  <form method="POST" action="{% url 'Request_Accepted' %}" enctype="multipart/form-data">
                    {% csrf_token %}
                     <td> <input style="background-color:#CFCFCF; color:blue" type="submit" value="Yes" name={{ request_.id }}> </td>
                </form>
                <form method="POST" action="{% url 'Request_Declined' %}" enctype="multipart/form-data">
                  {% csrf_token %}
                  <td> <input style="background-color:#CFCFCF; color:blue" type="submit" value="No" name={{ request_.id }} > </td>
                </form>
{% endfor %}

в view.py

def Request_Accepted(request):
    for i in range(50):
        j = str(i)
        if j in request.POST:
            User_record = User.objects.get(id=j)
            User_record.is_permission_granted = True
            User_record.save()

            permission_records = Permission_Request.objects.get(id=j)
            permission_records.delete()
            
            clicked_user = "Permission granted. "
            messages.info (request, clicked_user )
            return redirect('/')
Вернуться на верх