【问题标题】:Django admin - remove "add another" button for a self-referential fieldDjango admin - 删除自引用字段的“添加另一个”按钮
【发布时间】:2015-09-04 20:03:39
【问题描述】:

我有一个 Django 项目,其中包含一个带有可选自引用 ForeignKey 字段的模型类。部分sn-p:

class Site(models.model):
    name = models.CharField(max_length=100)
    parent_site = models.ForeignKey('self', null=True, blank=True)

我正在使用 Django 管理站点来创建新对象。对于此类的管理表单,我想禁用 parent_site 字段旁边的“Add another...”按钮(即,当您创建新站点时,您不能打开弹出窗口以创建另一个新站点作为父站点)。

我无法从用户那里删除has_add_permission,因为他们需要它位于当前的添加视图中。我不介意从添加视图和更改视图中删除该功能,但将删除限制在添加视图中会有所帮助。

我还没有弄清楚如何使用内联字段类来实现这一点,或者formfield_for_foreignkey,或者自定义ModelForm。有没有比在自定义表单模板上使用 JavaScript 更优雅的解决方案?

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    没有 css hacks 添加到管理类:

    max_num=0
    

    或者在 admin.py 中试试这个(对于旧的 django 版本):

    class MODEL_ADMIN(admin.ModelAdmin):
        class Media:
            css = {'all': ('css/no-addanother-button.css',)}
    

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2018-04-26
      • 1970-01-01
      • 2018-09-08
      • 2023-03-06
      相关资源
      最近更新 更多