相关疑难解决方法(0)

在Django admin中,如何在模型管理员上隐藏"保存并继续"和"保存并添加另一个"按钮?

我有一个Django管理员模型的工作流程,与用户的工作流程非常相似.首先,我有一个带有基本字段的表单,然后是带有其余数据的第二个表单.

它与auth.user的工作流程相同

我需要删除"保存并继续"和"保存并添加另一个"按钮,以防止用户破坏工作流程.

我试图将其添加为extra_context

extra_context = {
  'show_save_and_add_another': False,
  'show_save_and_continue': False
}
Run Code Online (Sandbox Code Playgroud)

并通过ModelAdmin.add_view或ModelAdmin.change_view传递它,但它不起作用.

这仅适用于一个型号,因此我不想从submit_line.html中删除

任何线索或替代方式?

提前致谢

python django django-templates django-admin

16
推荐指数
3
解决办法
1万
查看次数

Django禁用模型删除

因此,每个模型都具有一些常用功能,例如保存删除

删除通常会被覆盖以设置一个布尔字段,例如设置为is_activefalse,这样数据就不会丢失。但是有时存在一个模型,该模型具有的信息一旦创建,就应该始终存在,甚至永远都不会失效。我想知道处理该模型方法的最佳实践delete是什么?

主意

使它变得毫无用处:

def delete(self):
    return False
Run Code Online (Sandbox Code Playgroud)

但这似乎很奇怪。是否可以Meta选择禁用删除功能?有什么“不错”的方法吗?

python django

5
推荐指数
1
解决办法
911
查看次数

无法在 Django Admin 中隐藏“保存并添加另一个”按钮

当满足某些条件时,对于特定模型,我想隐藏 Django 管理员更改表单中的所有“保存”按钮。因此,我覆盖了changeform_view相关的方法ModelAdmin,如下所示:

def changeform_view(self, request, object_id=None, form_url='', extra_context=None):
    extra_context = extra_context or {}
    obj = collection_management_MammalianLine.objects.get(pk=object_id)
    if obj:
        if not (request.user.is_superuser or request.user.groups.filter(name='Lab manager').exists() or request.user == obj.created_by):
            extra_context['show_save'] = False
            extra_context['show_save_and_continue'] = False
            extra_context['show_save_and_add_another'] = False
        else:
            pass
    else:
        pass
    return super(MammalianLinePage, self).changeform_view(request, object_id, extra_context=extra_context)
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以成功隐藏“保存”和“保存并继续”按钮,但不能隐藏“保存并添加另一个”按钮。我可以看到submit_line.html包含以下三行

{% if show_save %}<input type="submit" value="{% trans 'Save' %}" class="default" name="_save" />{% endif %}
{% if show_save_and_add_another %}<input type="submit" value="{% trans 'Save and add another' %}" …
Run Code Online (Sandbox Code Playgroud)

django django-templates

4
推荐指数
3
解决办法
5379
查看次数

如何从 django 管理页面中删除 DELETE 按钮

我想从 django 管理页面中删除删除按钮,如下所示。在此处输入图片说明

python django

3
推荐指数
1
解决办法
2129
查看次数

标签 统计

django ×4

python ×3

django-templates ×2

django-admin ×1