Задать вопрос

Как в админке Django скрывать/показывать поля в зависимости от выбора другого поля?

env:

Django 2.2
Python 3.7


Здравствуйте, знактоки! Есть несколько моделей (упрощенно):

1) class Worker, у которой поля
-фио
-специальность (ForeignKey к модели «специальность»)
-is_official условное поле boolean

2) class Speciality (специальность)
-должность
-время смены

3) class HourRate (часовая ставка)
-специальность (ForeignKey к модели «специальность»)
-размер официальной ставки (число)
-размер неофициальной ставки
-период начала
-период окончания

Ставка вынесена в отдельную сущность, потому что будет меняться в течение разных периодов (то есть в один период ставка для должности "Оператор", допустим 100 рублей, а в следующий период уже 120 и т.д.)
Сейчас сделан отдельный шаблон для редактирования карточки сотрудника (templates/admin/app/worker_change_form.html) и сделан отдельный скрипт на JS для отлова события (пока что завязан на on.change).

Вопрос в следующем:

Чтобы скрывать/показывать нужные поля, в зависимости от выбора в определенном поле:
  • -нужно ли будет создавать отдельный view, чтобы передать туда context с полями других моделей (speciality, hourrate) и использовать их в этом шаблоне?
  • -как правильнее/легче исполнить необходимый функционал? (при выборе должности "Оператор" и галочки в поле IS_OFFICIAL должно показываться значение официальной ставки, при отсутствии же, соответственно наоборот)
  • -в дальнейшем с кастомизацией админки лучше редактировать стандартный шаблон или подключить jet-django?
  • Вопрос задан
  • 301 просмотр
Подписаться 4 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы