Как отфильтровать раскрывающийся список в админке Django, когда выбор сделан в другом раскрывающемся списке

У меня есть два выпадающих списка на сайте администратора Django. Например, у меня есть SelectCountry и SelectRegion. Регион имеет внешнее ключевое отношение к Стране. Как убедиться, что при выборе страны регионы фильтруются на основе этой страны?

N.B: Я также использую django-grappelli для своей административной части.

Любые идеи будут оценены по достоинству. Спасибо.


person S. Dube    schedule 24.03.2012    source источник
comment
Насколько я знаю, нет особо простого пути к этому. Вы можете использовать javascript; при выборе страны асинхронно вызвать сервер, получить список регионов для выбранной страны и заполнить второй список. Это потребует возиться с шаблонами django и т. Д.   -  person Timmy O'Mahony    schedule 24.03.2012
comment
@pastylegs - спасибо за ответ. Я надеялся, что есть способ справиться с этим по умолчанию, поскольку я не хочу (и у меня нет большого опыта) переопределять шаблоны и реализации Django js по умолчанию.   -  person S. Dube    schedule 24.03.2012
comment
Рассмотрите возможность использования автозаполнения вместо динамической фильтрации.   -  person Ivan Kharlamov    schedule 25.03.2012
comment
Здесь вы можете найти несколько полезных идей: stackoverflow.com/q/9677832/284164   -  person DrMeers    schedule 25.03.2012
comment
Взгляните сюда: stackoverflow.com/questions/1914358/django-chain-select   -  person ilvar    schedule 25.03.2012


Ответы (1)


Как намекает DrMeers, используйте django-smart-selects. Нет смысла изобретать колесо заново.

person dan-klasson    schedule 25.03.2012
comment
django-smart-selects недавно стал без поддержки. Есть альтернативы? - person Enric Mieza; 11.07.2019