在django admin中禁用/隐藏不必要的内联表单

时间:2014-09-10 18:47:46

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

我有模型'产品'模型和许多其他外键作为产品的模型。 目前我有ProductAdmin这个

class Product:
    type_of_product=models.ChoiceField()

class ProductAdmin(admin.ModelAdmin):
    form = ProductAdminForm
    inlines = [Inline1, Inline2, Inline3, Inline4,....Inline 15]

因此,产品管理员添加页面看起来非常大。在这里,我需要根据type_of_product的值仅填充一些模型内联。内联模型的许多条目都是空的。

因此,基本上内联与Product的type_of_product属性有关。目前,用户必须注意他必须根据他选择的type_of_product来填充值。

现在我想解决这个问题。

选项1) 根据用户通过AJAX选择的type_of_product动态呈现内联表单。(不知道怎么做)

选项2) 禁用或隐藏不必要的内联,这样他就无法看到不相关模型的内联形式。

任何人都可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:4)

您可以根据当前对象修改内联,只需覆盖change_view的{​​{1}}方法即可。在ModelAdmin中添加以下内容:

ProductAdmin