首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django管理中禁用/隐藏不必要的内联表单

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

Stack Overflow用户
提问于 2014-09-11 02:47:46
回答 1查看 1.9K关注 0票数 2

我有模型‘产品’模型和许多其他模型,它们的外键作为产品。目前我有ProductAdmin行

代码语言:javascript
复制
class Product:
    type_of_product=models.ChoiceField()

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

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

所以从本质上讲,内联与产品的type_of_product属性有关。目前,用户必须根据他选择的type_of_product来注意哪些内联必须填充值。

现在我想解决这个问题。

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

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

有没有人能帮我解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-09-15 18:59:53

您可以根据当前对象修改内联,只需覆盖ModelAdminchange_view方法即可。在您的ProductAdmin中添加如下内容:

代码语言:javascript
复制
def change_view(self, request, object_id, form_url='', extra_context=None):
    product = Product.objects.get(pk=object_id)
    current_inlines = []
    # CODE TO FILL INLINES BASED ON PRODUCT
    self.inlines = current_inlines
    return super(ProductAdmin, self).change_view(request, object_id, form_url, extra_context=extra_context)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25772856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档