2012-09-06 85 views
0

我的Django的模型如下:添加几个对象在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管理添加新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) 

但我不能添加到SubSectionInlineSectionInline

有没有办法做到这一点?

谢谢。

回答

0

不幸的是,你不能使用标准的Django管理应用程序来做到这一点。

所有的django管理员让你做的是添加许多部分的网页。 也许在章节添加页面中添加许多子节段会做你想要的吗?

您需要添加:

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

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

admin.site.register(Section, SectionAdmin) 
0

没有,Django管理不内联内支持内联。您可以管理内嵌页面的部分,部分内嵌部分,但不能同时处理。