Динамическое отображение и скрытие полей в админ панели Django


Я определил модель, в которой один из файлов имеет определение:

REPEAT = (
    ('day', 'Daily'),
    ('week', 'Weekly'),
)

repeats = models.CharField('Repeat', default='day', max_length=5, choices=REPEAT)

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

Можно ли показать и скрыть некоторые поля в админ-панели на основе выбора в полеповторов ? Например, в декорациях, когда пользователь выбирает "ежедневно", то некоторые поля не требуются, и я хочу их скрыть. Буду благодарен за любые советы и подсказки.

1 2

1 ответ:

Да, вы можете добавить пользовательский JS в свою модель администратора:

class MyModelAdmin(admin.ModelAdmin):

    class Media:
        js = ("my_code.js",)

STATIC_URL автоматически добавляется к вашему имени файла.

И ваша функция JS, предполагающая jQuery, что-то вроде:

$(function(){
$('<my-selector>').change(function(){
    //do something on select change
    });
});