django管理员复制内联

时间:2011-04-20 00:53:11

标签: django django-admin

出于某种原因,在我的管理网站中,我看到一个特定的内联重复。我有以下型号:

class PageBase(ContentContainer):
  title = models.CharField(max_length=1000)
  slug = models.SlugField()


class PageBanner(models.Model):
    name = models.CharField(max_length=1000)
    page = models.ForeignKey(PageBase)
    banner_images = models.ManyToManyField(BannerImage)

然后在我的admin.py中我有:

class PageBannerInline(admin.StackedInline):
  model = models.PageBanner
  extra = 1

class PageAdmin(admin.ModelAdmin):
    model = models.Page
    inlines = PageBannerInline

admin.site.register(models.Page, PageAdmin)
admin.site.register(models.PageBanner, PageBannerAdmin) 

出于某种原因,每次我将PageBanner添加到管理员中的任何页面,从而为该页面创建另一个内联时,我会在每个页面(包括我添加的页面)上内联另一个额外的横幅。

所以,如果我有4页,每页有1个横幅,我会在每页上看到3个额外的内联。

这里发生了什么?这很快变得无法管理,内联占用太多空间。

以下是内联图片: enter image description here

1 个答案:

答案 0 :(得分:0)

AFAIK,Django的默认行为是为您的内联模型添加3个表单,因此您可以一次添加3个实例。 您应该可以使用'extra'属性更改它:

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.extra