Возможно ли в Django Admin Panel динамически брать данные из Choice Field?

Мне нужно получать информацию о расписании (Schedule) из ChoiceField так, чтобы от него можно было передавать данные в Inlines.

В самом Inlines мне нужны только те станции, которые относятся к карте (саму карту я могу получить из объекта расписания). А уже после того как выбрана станция, мне нужно дать только те номера пути (Way Number), которые привязаны к этой станции, которая была выбрана ранее.

Суть вопроса такова - Как получить данные AdminPanel из ChoiceField динамически?

by


Ответы (1 шт):

Автор решения: Andrey Maslov

Попробуй использовать django_select2 - https://django-select2.readthedocs.io/en/latest/django_select2.html Там есть возможность настраивать выдачу для опций селекта в зависимости от значений в других полях. Причем можно настроить как простую выборку из модели по зависимым полям (нужный виджет - ModelSelect2Widget), так и самостоятельно написать view, который в качестве доп. параметров будет принимать текущие значения в требуемых тебе полях и ты сам сможешь создать запросы любой сложности, основываясь на полученных данных(нужный виджет - HeavySelect2Widget). Единственное ограничение - он автоматически находит и подбрасывает значение полей только внутри одной html формы. Но при желании и этот момент можно обойти написав свой .js файл для инициализации этих полей.

→ Ссылка