Как получить идентификатор пользователя из поискового ввода URL, содержащего имя и фамилию

Я создал строку поиска, где пользователи могут искать по имени и/или фамилии других пользователей. Когда они отправляют запрос, он должен перенести их на страницу профиля этого пользователя на основе имени/фамилии, указанного в URL.

Скрипт из шаблона, где находится строка поиска - работает нормально:

<script>
  new Autocomplete('#autocomplete', {
    search : input => {
      const url = `/search/?search_item=${input}`
      return new Promise(resolve => {
        fetch(url)
        .then(response => response.json()
        .then(data => {
          resolve(data.data)
        }))
      })
    },
  })

</script>

urls.py

path('search/', views.search_name, name='search_name'),

views.py, который генерирует список пользователей в базе данных, соответствующих элементу поиска:

@login_required
def search_name(request):
    search_item = request.GET.get('search_item')
    payload = []
    if search_item:
        search_item_objects = User.objects.filter(
    Q(first_name__icontains=search_item) | Q(last_name__icontains=search_item))

        for search_item_object in search_item_objects:
            payload.append(search_item_object.first_name + ' ' + search_item_object.last_name) 

    return JsonResponse({'status':200, 'data': payload})

Теперь, я добавил onSubmit в скрипт - таким образом, обновленный шаблон выглядит так:

<script>
  new Autocomplete('#autocomplete', {
    search : input => {
      const url = `/search/?search_item=${input}`
      return new Promise(resolve => {
        fetch(url)
        .then(response => response.json()
        .then(data => {
          resolve(data.data)
        }))
      })
    },
    onSubmit : result => {
      window.open(`/member/?search_item=${result}`)
    }
  })

</script>

Вот что я получаю:

http://club/member/?search_item=Johny%20Bravo

Как получить ID пользователя, имеющего URL {result} 'Johny' 'Bravo', чтобы я мог позже передать его в представления для создания шаблона для этого пользователя, примерно так, как показано ниже:

@login_required
def member(request, id):
    member = User.objects.get(id=id)
    context = {'member':member,}
    return render(request, 'club/member.html', context)

У меня нет опыта в JS, должен ли onSubmit выполнять различные действия для передачи деталей в views.py?

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