0

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

我想Page在 django Admin 中添加一个新的,可以添加几个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)

但我无法添加SubSectionInlineSectionInline.

有没有办法做到这一点?

谢谢你。

4

2 回答 2

0

不幸的是,您不能使用标准的 django 管理应用程序来执行此操作。

django 管理员让您做的所有事情就是添加具有许多部分的页面。也许在部分添加页面中添加许多子部分会做你想要的?

您需要添加:

class SubSectionInline(admin.TabularInline):
    model = SubSection
    extra = 3

class SectionAdmin(admin.ModelAdmin):
    inlines = [SubSectionInline]

admin.site.register(Section, SectionAdmin)
于 2012-09-06T15:08:29.423 回答
0

不,Django 管理员不支持内联内联。您可以管理与页面内联的部分,以及与部分内联的子部分,但不能同时管理两者。

于 2012-09-06T15:08:39.883 回答