ProgrammingError at /user_booking не все аргументы преобразованы при форматировании байтов

Идея состоит в том, чтобы отобразить информацию о бронировании пользователя, такую как имя_бронирования, пакет и т.д. Я получаю данные из базы данных в моем views.py следующим образом.

def user_booking(request):
    id = request.session['u_id']
    booking_data = Booking.objects.raw('select * from booking WHERE id = %s',id)
    return render(request,'user_booking.html',{'view_data':booking_data})

Теперь в файле user_booking.html отображаются данные. Я использовал соответствующий шаблон для отображения данных в табличном формате. Проблема в том, что когда некоторые данные возвращаются из базы данных, все работает идеально. Когда есть запрос, для которого данные не могут быть найдены, страница разрывается и показывает "ProgrammingError at /user_booking not all arguments converted during bytes formatting"

Вместо всего форматирования я прибегнул к базовому коду, который выглядит следующим образом

 <html>
 {%  for b in view_data %}
{{b.b_name}}
{% endfor %}
</html>

Выдает имя "ajay" в качестве вывода и не ломает страницу, также обратите внимание, что запись для ID Аджея присутствует в моей базе данных. Теперь, если ID изменен, а затем я обновляю страницу снова, это дает мне ошибку

Что я пытаюсь сделать: если есть какие-либо данные, поступающие из базы данных, то отобразить их, иначе просто вывести msg "no data here".

Как этого достичь?

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