更改django admin的外键小部件

时间:2018-04-09 20:32:07

标签: django django-models foreign-keys django-admin many-to-many

我的django项目中有一些模型:CoursePacks,Courses和Chapters。

课程与CoursePacks有多对多的关系,在管理员中,经过一些内联编辑后,会显示这个小部件:

(这是一个COURSE-COURSEPACK关系)

COURSE PACK ADMIN COURSES RELATIONSHIP

这使我可以选择,编辑和创建另一个课程,该课程将自动添加到课程包中。

然而,章节(“capítulo”)和课程模型是通过外键关系连接的,管理员显示的小部件如下:

(这是A CHAPTER-COURSE关系)

COURSE ADMIN CHAPTERS RELATIONSHIP

我编辑了所以显示的字段较少,因为如果我没有显示所有字段和整个textarea内容。

当我点击课程包管理窗口上课程实例一侧的添加或编辑按钮时,会弹出一个窗口,允许我编辑或创建另一门课程。

我希望能够有类似的机制,但是可以通过课程管理窗口创建章节。我是否必须编辑管理员的标记,还是有一个小部件编辑功能可以满足我的需求?

如果没有,我可以在哪里开始这样做?

1 个答案:

答案 0 :(得分:0)

好的,我稍后找到了这个问题的答案。我忘了把它贴在这里,但现在我被提醒了,因为我刚拿到一个"风滚草徽章"对于这个问题。

Depends

此问题的解决方案仅仅是此class ChapterInline(admin.StackedInline): model = Chapter view_on_site = False exclude = ( 'slug', 'text', ) show_change_link = True 段代码。至于上面的其余代码,它很有用,因为它使内联(下面)的外观更清晰。

show_change_like = True配置设置为view_on_site,因为"在网站上查看"由于设计原因,我没有想到修复它是值得的压力。

False

出于相关原因,其中也出现了非相关代码。

这是结果: enter image description here

哪个不是很完美,但它确实起作用了。唯一的问题是,在编辑之前必须首先创建一个章节。