在django admin中添加几个对象

时间:2012-09-06 15:01:03

标签: django django-admin

我的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

有办法做到这一点吗?

谢谢。

2 个答案:

答案 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管理员不支持内联中的内联。您可以使用页面内联部分内嵌部分,并使用部分内联子部分,但不能同时管理两个部分。