您可以使用相同的方法添加“类”:['collapse']添加到您的ModelAdmin字段集之一,我希望内联模型管理能够是可折叠的。
这张票,Collapse in admin interface for inline related objects,讨论了我想要完成的事情。但是同时,在我们等待下一个版本的时候,什么是最好的工作?
参考消息:我已经想出了一个解决方案,但我认为还有更好的解决方案。我会让投票来解决。
您可以使用相同的方法添加“类”:['collapse']添加到您的ModelAdmin字段集之一,我希望内联模型管理能够是可折叠的。
这张票,Collapse in admin interface for inline related objects,讨论了我想要完成的事情。但是同时,在我们等待下一个版本的时候,什么是最好的工作?
参考消息:我已经想出了一个解决方案,但我认为还有更好的解决方案。我会让投票来解决。
8条答案
按热度按时间sg3maiej1#
你可以使用grapelli--它支持折叠字段集。它使用的解决方案与上面提到的解决方案非常相似,但是javascript / coding已经完成--你只需要添加'classes':(collapse closed ',)到你的字段集中(参见http://readthedocs.org/docs/django-grappelli/en/latest/customization.html)
例如:
7xzttuei2#
我使用jQuery提出了这个解决方案,它可以在
TabularInline
上运行n53p2ov03#
在现代的Django中,这就像下面这样简单:
7jmck4yq4#
我当前的解决方案基于此处列出的其他解决方案,具有以下功能:
这是一个Javascript解决方案,这意味着它需要以某种方式注入到您的页面/模板中。
它要求jQuery在执行时已经加载到页面上,现在的Django版本已经做到了这一点。
snvhrwxg5#
从Django 1.10开始,我们现在也可以添加额外的css类到InlineModelAdmin中。
包含要应用于为内联呈现的字段集的额外CSS类的列表或元组。默认为“无”。与字段集中配置的类一样,具有折叠类的内联最初将被折叠,其标头将具有一个小的“显示”链接。
文档
x6h2sr286#
这是我如何解决它,但它感觉太像一个黑客(黑客)。
我使用Google API托管的jQuery来修改DOM,利用Django自己的'show/hide'脚本。如果你看一下管理页面的html源代码,最后加载的脚本是这样的:
文件中的注解让我想到:利用ModelAdmin媒体定义加载我自己的域更改脚本。
然后在引用的javascript文件中:
最终结果仅适用于StackedInline,而不适用于TabularInline。
92dk7w1h7#
对gerdemb的答案做了一些改进。适当地添加了“Show”和“Hide”文本,并允许您预先在列表中指定表格内联名称:
2ledvvac8#
如果您想要可折叠内联模型,则:
如果希望字段分组可折叠,