Как использовать автозаполнение на основе AJAX с html-формой и django

Я хочу сделать систему управления запасами на django. У меня пока нет никакого кода, относящегося к проблеме, которую я хочу задать. Так что терпите мои объяснения:

У меня есть работающий проект django с работающим REST API. База данных, например, содержит модель/таблицу "Component", в которой хранятся все компоненты, которые можно хранить. Модель "Stock" содержит записи о том, сколько компонентов где хранится. Эти записи содержат внешний ключ к компоненту.

В настоящее время я пытаюсь сделать форму "new Stock", которая позволяет мне создать новую запись в таблице "Stock". Чтобы указать внешний ключ компонента, я обычно использую выпадающий выбор и позволяю django заполнить возможности (ChoiceField). Аналогично тому, как это делается в панели администратора. Основная проблема заключается в следующем:

Таблица компонентов огромна: >10000 записей. Я не могу просто добавить все возможности на веб-страницу.

Итак, я хочу использовать стандартное текстовое поле (?) с автозаполнением, которое будет использовать REST API для запроса результатов.

Однако я не очень понимаю, как заполнить HTML-форму. Лучшее, что я могу предложить, это поиск компонентов через REST API и отображение результатов в выпадающем списке под поиском. Когда пользователь нажимает на компонент, javascript в фоновом режиме заполняет скрытое поле uuid/первичным ключом компонента, так что бэкенд django может легко создать новую запись Stock с правильно указанным компонентом после отправки формы.

Я думаю, что, вероятно, я смогу собрать функциональность, но я не уверен, что это правильный путь и в итоге получится полный беспорядок. Однако, я не хочу делать это полностью на основе ajax.

Как я должен это сделать?

Я использую django и его плагин rest api в качестве бэкенда и bootstrap для фронтенда. Я еще не включал никаких javascript/других библиотек, таких как jQuery.

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