我可以让Django管理员反映模型的层次结构吗?

我可以让Django管理员反映模型的层次结构吗?,第1张

概述假设Django应用程序具有通过一对多关系连接的一些模型: class Blog(models.Model): ...class Post(models.Model): blog = models.ForeignKey(Blog) ...class Comment(models.Model): post = models.ForeignKey(Post) 假设Django应用程序具有通过一对多关系连接的一些模型:

class Blog(models.Model):    ...class Post(models.Model):    blog = models.ForeignKey(Blog)    ...class Comment(models.Model):    post = models.ForeignKey(Post)    ...

从概念上讲,它们形成了一个层次结构,一个树状的结构.我希望Django管理员反映这一点.特别是:

>在职位变更清单中,每个职位都应有相应意见变更清单的链接;
>同样,帖子的编辑页面应该链接到右上角按钮区域的评论变更列表;
>当我打开相关评论列表时,它需要反映面包屑中的关系(类似于:帖子>“Hello world”>评论),理想情况下,还需要在URL(帖子/ 123 / comment /)中.

这当然也适用于层次结构的其他级别.

使用自定义List_display条目并使用?post__ID =查询到注释更改列表,数字1非常简单.但这只不过是黑客攻击.一般来说,Django假设我的三个模型是独立的顶级实体.

有没有直接的方法来实现这一目标?我想我可以覆盖一堆模板和adminModel方法,但也许有一个更好的解决方案,似乎是一种常见的情况?

解决方法 你确定你不只是看 Django Admin Inline Models吗?

自动管理员无法获取您的关系,因为在RDBS中可以存在任意数量的外键/一对一/多对多关系,而Django没有内置的自定义层次结构行为.

如果需要,您确实可以编辑自定义管理模板的面包屑.

对于关系,您可能也对django MPTT感兴趣,它允许创建分层模型实例.另见这个问题:Creating efficient database queries for hierarchical models (django)就此而言.

总结

以上是内存溢出为你收集整理的我可以让Django管理员反映模型的层次结构吗?全部内容,希望文章能够帮你解决我可以让Django管理员反映模型的层次结构吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1196812.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存