2013-11-27 26 views
0

我想在django管理界面中按需隐藏域,这意味着并非所有参数都是必需的。这仅适用于我的软件客户的可用性。django显示管理域按需

如果出现一些情况,例如类型字段应该是,完全隐藏

条件没有作出:

enter image description here

条件(与我当前的代码):

enter image description here

隐藏是可能的,但残留有 “剩菜”。是否有可能隐藏“类型线”完成没有这种剩菜?像

class Meta: 
    exclude = ["type"] 

是否设置? (这是不可能在运行时修改)

到目前为止我的代码隐藏在需求管理领域:

class SubItemForm(ModelForm): 

    def __init__(self, *args, **kwargs): 
     super(SubItemForm, self).__init__(*args, **kwargs) 
     if self.instance.type == "SOME CONDITION": 
      self.fields["type"].widget = CompleteHidden() 
      self.fields["type"].label = "" 

    class Meta: 
     model = SubItem 
+0

它工作吗?你的问题是什么?你也可以完全从字典(self.fields.pop(“type”))中删除该字段。 – Jingo

+0

这引起了悲伤的“关键”类型“在表单中找不到”。我的(不雅)回退选项是使用JavaScript来隐藏相关字段。 – Themerius

回答

0

添加编辑= False来要隐藏在模型类领域。

例如

to_hide = models.TextField(editable=False) 

希望它有帮助。

+0

我可以在运行时分别执行此操作吗?每个实例都是分开的? – Themerius