【问题标题】:Django admin inline "add more item" button not workingDjango admin内联“添加更多项目”按钮不起作用
【发布时间】:2018-06-12 15:28:18
【问题描述】:

尝试在 Django 中学习堆叠内联。有一个非常基本的设置

对于 admin.py

from django.contrib import admin

from .models import Picture, Review


class ReviewInline(admin.StackedInline):
    model = Review
    save_on_top = True
    fields = ["reviewer"]

#@admin.register(Picture)
class PictureAdmin(admin.ModelAdmin):
    save_on_top = True
    fields = ["painter"]
    inlines = [ReviewInline,]


admin.site.register(Review)
admin.site.register(Picture, PictureAdmin)

对于models.py

from django.db import models

class Picture(models.Model):
    painter = models.CharField(("painter"), max_length=255)
    def __str__(self):
        return self.painter


class Review(models.Model):
    picture = models.ForeignKey(Picture, on_delete=models.CASCADE)
    reviewer = models.CharField( max_length=255)
    extra = 0
    def __str__(self):
        return self.reviewer

可以看出没有“添加更多项目”按钮。我认为这可能是 JS 问题,但不确定(我确实在浏览器中启用了 JS)

有人知道吗?

【问题讨论】:

标签: django python-3.x django-admin


【解决方案1】:

我相信你的 extra=0 在错误的类中,它应该在 Inline 而不是 Model...

从模型中删除extra=0

class Review(models.Model):
    picture = models.ForeignKey(Picture, on_delete=models.CASCADE)
    reviewer = models.CharField( max_length=255)

    # extra = 0     <---- remove this

    def __str__(self):
        return self.reviewer

将其添加到内联:

class ReviewInline(admin.StackedInline):
    model = Review
    save_on_top = True
    extra = 0
    fields = ["reviewer"]

理由来自this example的这个sn-p:

@admin.register(Painter)
class PainterAdmin(admin.ModelAdmin):
    save_on_top = True
    fields = ["name"]
    inlines = [PictureInline]


class ReviewInline(admin.StackedInline):
    model = Review
    extra = 0
    fields = ["reviewer", "comment"]

编辑:第二个想法你可能还想从内联中删除save_on_top

【讨论】:

  • 你说得对。在制作一个工作示例时,我很仓促。但是,这仍然不能解决问题。在下面寻找我的答案
【解决方案2】:

清除我的谷歌浏览器缓存解决了它!在意识到该示例在 Microsoft Edge 中有效后,我得到了一个线索。

【讨论】:

  • 这太令人惊讶了!哈哈
猜你喜欢
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 2011-07-30
  • 2012-06-09
  • 2011-01-15
  • 2011-02-20
  • 2021-01-10
相关资源
最近更新 更多