Получение параметров GET и POST запросов для последующей обработки
Необходимо в проекте на Django реализовать обработку GET и POST запросов к БП (sqlite3). Если с GET запросом хоть как-то получается (хотя не понимаю, можно ли весь перечень параметров запроса получить для последующей обработке по условиям), то с POST запросом (в данном случае пытаюсь реализовать добавление нового объекта в БП) ничего не выходит. Он просто не добавляется и все.
Класс обработки запросов выглядит следующим образом:
class MyView(View):
def get(self, request):
print('Get request: ', a)
arg = request.GET.get('last_name')
person = Guests.objects.filter(last_name=arg)
return HttpResponse(person[0].last_name + ' ' + person[0].first_name)
def post(self, request):
if request.method == 'POST':
new_guest = Guests()
new_guest.first_name = request.POST.get('first_name')
new_guest.last_name = request.POST.get('last_name')
new_guest.age = request.POST.get('age')
new_guest.save()
return HttpResponse('New guest successfully added!')
В данном примере POST запрос
http://127.0.0.1:8000/hello/search/?first_name=Misha&last_name=Fateev&age=35"
не сохраняет пользователя в БД. При запросе GET
http://127.0.0.1:8000/hello/search/?last_name=Ivanov"
postman выводит только одного человека (хотя удовлетворяющих условию несколько). Я понимаю, что это потому что указано выводить данные первого объект ([0]). Однако не могу сообразить, как получить доступ ко всем элементам, удовлетворяющим условию. Буду очень признателен за советы, сам бьюсь над решение уже больше двух дней.
Ответы (1 шт):
Благодарю господина maestro за помощь! Теперь понял в чем была проблема (данные запроса необходимо было посылать через body), получилось найти информацию и все исправить. Еще раз спасибо!