这可能不可能,但有些东西告诉我我还没有想出一个办法。作为一个简单的例子,我将使用博客的概念。在Django中管理另一个模型的内部管理
在更改列表视图中,有多个博客。我选择一个博客进行编辑,并从更改视图中看到属于该博客的帖子更改列表。当我从那里添加/编辑帖子时,它通过URL或其他传递上下文的方式知道它属于哪个博客。
我知道如何设置管理模板来达到我想要的效果,但是我不能为我的生活弄清楚如何将上下文对象的id传递给子对象的视图。有什么建议么?
编辑:
对不起球员。基于我得到的答案,我一定还不够具体。
内联并不是我要找的。每个子对象都包含大量数据。使用内联会导致永远滚动的页面无法轻松访问特定的对象。我需要有一个更改列表样式的外观(内联的地方),然后点击一个链接就可以看到对象的正常变化视图,同时以某种方式将上下文对象的id传递给视图。
例如。如果我去一个特定的博客的网址会是这样的:
/admin/blog/blog/1/
然后,从那里我点击后,我发送到URL是一样的东西:
/admin/blog/blog/1/post/1/
的博客ID(1
在这个例子中)可用于post对象,这样我就可以保存它的博客外键。这不一定要通过URL来完成,必然也是如此。我只需要一些提供上下文的方法来编辑帖子,并在该博客的上下文中使用该ID。
我开始认为你是对的。我可能会在模板中添加GET参数,而不是依赖JS,但似乎这是合理完成它的唯一方法。我之前查看过'ModelAdmin'的源代码,虽然我可能会改变覆盖视图以使其发生,但我几乎必须将整个源代码粘贴到覆盖范围内,这会导致无法响应。 – 2011-05-25 19:50:58