我的Django模型如下:
class Page(models.Model):
title = models.CharField(max_length=200)
class Section(models.Model):
page_id = models.ForeignKey(Page)
title = models.CharField(max_length=200)
class SubSection(models.Model):
section_id = models.ForeignKey(Section)
title = models.CharField(max_length=200)
我想在django Admin中添加一个新的Page
,可以添加多个Section
,其中我可以添加多个SubSection
。
我已经成功创建了一个页面,我们可以在其中添加Page
,其中我们可以添加多个Section
,但它只询问Section
的名称,并且不可能在同一页面中添加SubSection
。
我试过了:
class SectionInline(admin.TabularInline):
model = Section
extra = 3
class PageAdmin(admin.ModelAdmin):
inlines = [SectionInline]
admin.site.register(Page, PageAdmin)
但我无法将SubSectionInline
添加到SectionInline
。
有办法做到这一点吗?
谢谢。
答案 0 :(得分:0)
不幸的是,您无法使用标准的django管理应用程序执行此操作。
所有django管理员让你做的是添加包含许多章节的页面。 也许在章节添加页面中添加许多子章节可以做你想要的吗?
您需要添加:
class SubSectionInline(admin.TabularInline):
model = SubSection
extra = 3
class SectionAdmin(admin.ModelAdmin):
inlines = [SubSectionInline]
admin.site.register(Section, SectionAdmin)
答案 1 :(得分:0)
不,Django管理员不支持内联中的内联。您可以使用页面内联部分内嵌部分,并使用部分内联子部分,但不能同时管理两个部分。