【问题标题】:Django admin: Show/Hide field on select any one dropdown valueDjango admin:在选择任何一个下拉值时显示/隐藏字段
【发布时间】:2017-08-19 02:12:43
【问题描述】:

models.py:

class Plan(models.Model):
    PLAN_TYPE_CHOICES = (
        ('global', 'Global'),
        ('user specific', 'User Specific'),
    )
    name_of_plan = models.CharField(max_length=256, null=False, blank=False)
    number_of_months = models.IntegerField(db_index=True)
    type_of_plan = models.CharField(choices=PLAN_TYPE_CHOICES)
    specific_users = models.ManyToManyField(User, db_index=True)

admin.py

from django.contrib import admin
from .models import Plan

class PlanAdmin(admin.ModelAdmin):
    model = Plan

admin.site.register(Plan, PlanAdmin)

在管理页面中,我有 type_of_plan 选项:“全局”、“用户特定”...当我选择“用户特定”值时,我需要显示 specific_users 字段而当我选择“全局”值时,我需要隐藏 specific_users字段...我该怎么做?

【问题讨论】:

    标签: jquery django django-models django-forms django-admin


    【解决方案1】:

    admin.py 中创建类PlanAdmin(admin.ModelAdmin) 并在get_form 函数中实现获取管理表单的逻辑。

    有关详细信息和示例实现,请参阅这个更一般的问题:How to hide some fields in django-admin?

    【讨论】:

    • How to hide some fields in django-admin? 这个解决方案对我不起作用,因为我的问题是“是否可以根据 type_of_plan 字段中的选择(使用 JQuery 或其他)在管理面板中显示和隐藏某些字段?”
    • 你可以在get_form函数中实现这个逻辑
    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2023-03-22
    相关资源
    最近更新 更多