假设我有一个模型A.然后,我有几个模型B,C,D,E等每个都有一个foreignKey模型A.我知道我可以设置B,C,D等作为模型的内联这样当我创建模型A时,它将显示用于为每个子模型添加多个项目的模板集,但我认为这将使一个相当混乱和非常大的页面。
有没有办法以某种方式,而不是让所有这些formset内联在同一页面上,让每个formset在一个单独的页面上?换句话说,会有从模型A到创建/编辑关联模型B,创建/编辑关联模型C等的链接吗?
谢谢!
答案 0 :(得分:2)
我正在寻找一种完全相同的方法。看起来答案可能是“代理模型”。它建议作为Stack Overflow查询的答案:
...此查询询问同一模型的多个管理员列表:
此处有关代理模型的文档:
我自己是Django的新手,所以一旦我开始工作,我会发布更完整的回复。
答案 1 :(得分:0)
简单的答案是创建一个文件:
${TEMPLATE_DIR}/admin/app/modelA/change_form.html
在更改表单中,您可以执行以下操作:
{% extends "admin/change_form.html" %}
{% block after_related_objects %}
<ul>
<li><a href="/admin/app/modelB/{{ original.modelB.id }}/">Edit modelB</a></li>
</ul>
{% endblock %}
它有点原始,但它做你想要的。列表和复杂的聚合比较棘手,您需要测试原始的存在,以确保不会生成模板错误。