Как использовать AJAX для зависимых выпадающих списков? - PullRequest
0 голосов
/ 25 января 2019

Я хочу, чтобы мой раскрывающийся список "Местоположение" зависел от раскрывающегося списка "Клиент".Мои модели:

class Client(models.Model):
  name = models.CharField(max_length=50)

class Location(models.Model):
  name = models.CharField(max_length=50)

Какой следующий шаг после этого?

Стоит ли где-нибудь ставить ФК?

Что за код AJAX для этого?

1 Ответ

0 голосов
/ 25 января 2019

Если вы хотите отобразить два раскрывающихся списка, первый с параметрами Client и второй с параметрами Location, с изменением Locations на переключение Client, вы должны добавить обработчик событий js, например, с помощью jQuery.:

$(document).on('change', '#clients', () => { 
    ...call locations endpoint and update locations options... 
})

На бэкэнд добавьте вашу Location модель с Client FK и создайте конечную точку для пути app/locations/<int:client_id>/, где вы выберете Locations на основе Client:

from django.shortcuts import get_object_or_404
...
def locations(request, client_id):
    client = get_object_or_404(Client, id=client_id)
    locations = Location.objects.filter(client=client)
    return JsonResponse(dict(locations=locations), status=200)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...