Администратор Django отключает поле динамически на основе других вариантов выбора

Я построил модель django, в которой требуемые поля меняются в зависимости от выбора пользователем в других предыдущих полях. В частности, это приложение для планирования событий, в котором параметры меняются в зависимости от выбора, сделанного пользователем.

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

Например, если пользователь выбирает повторение события еженедельно, мне нужно отключить (или, в идеале, удалить) все ежедневные и ежемесячные поля и отображать только еженедельные поля, такие как день недели.

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

Как мне настроить форму администратора, чтобы это происходило? Я знаю, что это можно сделать с помощью DOM и javascript, но я пытаюсь определить, есть ли механизм для этого, встроенный в Django. Я искал документы Django, но, похоже, не нашел.

Есть ли у кого-нибудь пример, показывающий, как вы делали подобные вещи?

5
задан Jon 17 February 2012 в 14:53
поделиться