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 个额外的内联。
这是怎么回事?这很快就会变得难以管理,内联占用了太多空间。
这是内联的图像:
For some reason, in my admin site I am seeing a specific inline getting duplicated. I have the following models:
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)
Then in my admin.py I have:
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)
For some reason, every time I add a PageBanner to any page in the admin, thus creating another inline for that page, I get another extra banner inline on EVERY page(including the one I added on).
So, if I have 4 pages and each page has 1 banner, I will see 3 extra inlines on every page.
What is going on here? This is quickly becoming unmanageable, the inlines take up way too much space.
Here is an image of the inlines:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AFAIK,Django 的默认行为是为内联模型添加 3 个表单,因此您可以一次添加 3 个实例。
您应该能够使用 'extra' 属性来更改它:
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.extra
AFAIK, it's the default behavior of Django to add 3 forms for your inline model, so you can add 3 instances at once.
You should be able to change that with the 'extra' attribute:
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.extra