Django管理面板中的动态显示和隐藏字段

时间:2013-09-07 22:56:40

标签: django django-models django-admin

我已经定义了一个模型,其中一个字段有定义:

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

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

我也定义了相关的管理模型,负责在面板中显示我的主模型。

是否可以根据重复字段中的选项在管理面板中显示和隐藏某些字段?例如,在用户选择“每日”时的风景中,则不需要某些字段,我想隐藏它们。 我会感谢任何建议或提示。

1 个答案:

答案 0 :(得分:2)

是的,您可以将自定义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
    });
});