django - 在 Django 管理面板中动态显示和隐藏字段

标签 django django-models django-admin

我已经定义了模型,其中一个文件有定义:

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

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

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

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

最佳答案

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

关于django - 在 Django 管理面板中动态显示和隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18678711/

相关文章:

javascript - Django serializeArray() 来自一个表单标签内的 2 个 django.form 字段

mysql - Django/MySQL : Making non-unique field unique fails even if field values are unique

python - 如何在 __str__ 方法中获取 TextChoice 枚举值

django - 如果所有字段都是只读的,则在管理员中隐藏保存按钮

python - 在 Django 中检索图像

python - 如何在 PostgreSql 上获取查询的最后 n 个项目

python - (Django) DetailView 模板不显示信息

mysql - 如何在 mysql 中使用 django 的 manage.py sql* 命令

python - 当我运行 pip3 freeze 或 pip3 list 时没有输出

python - 自动填充 Django ModelForms