根据文件:
http://django-grappelli.readthedocs.org/en/latest/customization.html#rearrange-inlines
占位符的两个类很重要。首先,您需要一个类占位符。第二个类必须匹配内联组的id。
一切都很好,我能够设置我的内联很好,我的问题现在 - grappelli在哪里得到“内联组的id”我找不到任何参考,并且通过源代码填写是没有安慰我。
简单地说,我想更改grappelli正在使用的元素ID。目前,它在我看来它正在获取对象名称并转换为小写名称并将set附加到结尾。我们是否有权覆盖“内联组的ID”?
另外,我并非100%确定grappelli究竟是如何(或在哪里)这样做的,事实上它根本就没有记录......
非常感谢任何帮助。
答案 0 :(得分:2)
它是HTML页面上内联元素的id。您可以检查默认HTML内联元素的ID。
<div id="[related_name of ForeignKey]-group">
例如: 如果在模型&#34; MyModel2&#34;中,你有一个像这样的ForeignKey:
my_model_1 = models.ForeignKey(MyModel1, related_name='my_model_2')
然后id应为&#34; my_model_2-group&#34;。
答案 1 :(得分:0)
内联组的ID在grappelli/templates/admin/edit_inline,stacked.html第5行或tabular.html第6行中设置(取决于您使用的内联类型):
id="{{ inline_admin_formset.formset.prefix }}-group" >
您可以通过将文件(stacked.html或tabular.html)复制到模板目录并设置变量&#34; template&#34;来覆盖它。到文件的新位置,例如:
# admin.py
class MyModelInline(admin.StackedInline):
template = 'path/to/stacked.html'
...
然后编辑您想要的任何内容,例如stacked.html。
我不知道这是否是最好的做法,但它与django教程中的做法类似。