Django admin - 删除自引用字段的 "add another" 按钮
Django admin - remove "add another" button for a self-referential field
我有一个 Django 项目,其中包含一个模型 class,该模型带有一个可选的自引用 ForeignKey 字段。部分片段:
class Site(models.model):
name = models.CharField(max_length=100)
parent_site = models.ForeignKey('self', null=True, blank=True)
我正在使用 Django 管理站点创建新对象。对于此 class' 管理表单,我想禁用 parent_site
字段旁边的“添加另一个...”按钮(即当您创建新网站时,您无法打开弹出窗口以创建另一个新网站作为父网站)。
我无法从用户中删除 has_add_permission
,因为他们需要它在当前添加视图中。我不介意从添加和更改视图中删除该功能,但将删除限制在添加视图中会有所帮助。
我一直无法弄清楚如何使用内联字段 classes 或 formfield_for_foreignkey
或自定义 ModelForm
来实现此目的。有人有比在自定义表单模板上使用 JavaScript 更优雅的解决方案吗?
没有 css 黑客添加到管理员 class:
max_num=0
或者在 admin.py 中尝试这个(对于旧的 django 版本):
class MODEL_ADMIN(admin.ModelAdmin):
class Media:
css = {'all': ('css/no-addanother-button.css',)}
我有一个 Django 项目,其中包含一个模型 class,该模型带有一个可选的自引用 ForeignKey 字段。部分片段:
class Site(models.model):
name = models.CharField(max_length=100)
parent_site = models.ForeignKey('self', null=True, blank=True)
我正在使用 Django 管理站点创建新对象。对于此 class' 管理表单,我想禁用 parent_site
字段旁边的“添加另一个...”按钮(即当您创建新网站时,您无法打开弹出窗口以创建另一个新网站作为父网站)。
我无法从用户中删除 has_add_permission
,因为他们需要它在当前添加视图中。我不介意从添加和更改视图中删除该功能,但将删除限制在添加视图中会有所帮助。
我一直无法弄清楚如何使用内联字段 classes 或 formfield_for_foreignkey
或自定义 ModelForm
来实现此目的。有人有比在自定义表单模板上使用 JavaScript 更优雅的解决方案吗?
没有 css 黑客添加到管理员 class:
max_num=0
或者在 admin.py 中尝试这个(对于旧的 django 版本):
class MODEL_ADMIN(admin.ModelAdmin):
class Media:
css = {'all': ('css/no-addanother-button.css',)}