当前位置: 首页 > 面试题库 >

Django Admin-对特定模型禁用“添加”操作

丌官坚秉
2023-03-14
问题内容

我有一个包含许多模型和表格的django网站。我有许多自定义表单和表单集以及inlineformsets和自定义验证以及自定义查询集。因此,添加模型操作取决于需要其他内容的表单,并且Django管理员中的“添加模型”通过自定义查询集中的500。

无论如何,对于某些型号,是否禁用“添加$ MODEL”功能?

我想/admin/appname/modelname/add/给出一个404(或合适的“ goaway”错误消息),我不希望显示“ Add $ MODELNAME”按钮/admin/appname/modelname

Django管理员提供了一种禁用管理员操作的方法(http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions),但是此模型的唯一操作是“ delete_selected”。即,管理员操作仅作用于现有模型。有一些Django风格的方法来做到这一点吗?


问题答案:

这很简单,只需has_add_permission在你的Admin类中重载方法,如下所示:

class MyAdmin(admin.ModelAdmin):
     def has_add_permission(self, request, obj=None):
        return False


 类似资料:
  •        LSV支持添加gcm,3ds,obj格式的模型,可以通过将其倒入LSV后进行一系列的操作。        首先,通过点击“添加模型”选择所需要添加的模型文件:        之后可以分别对模型的各项参数进行设置,如旋转、缩放以及其空间信息等。

  •        LSV支持添加gcm,3ds,obj格式的模型,可以通过将其倒入LSV后进行一系列的操作。        首先,通过点击“添加模型”选择所需要添加的模型文件:        之后可以分别对模型的各项参数进行设置,如旋转、缩放以及其空间信息等。

  • 勾选了复选框的产品实际上是不可购买的,这是期望的结果。 我遇到的问题是,当我在产品目录页面上为可购买的产品(那些没有勾选的)点击“添加到购物车”时,我被重定向到产品页面,并且默认的WooCommerce消息“对不起,这个产品不能被购买。”出现。应该发生的是,当单击“添加到购物车”按钮时,产品会自动添加到购物车中。 同样从单品页面,我可以毫无问题地添加可购推车。

  • 问题内容: 我正在使用.ajaxStart()和.ajaxStop()在提出ajax请求时显示模式。(在开始和停止之间) 现在,我想添加一个longpoll函数,该函数一直等待通知,类似于本网站左上角的通知。 我的问题现在在于仅针对longpolling请求禁用此模式。 在处理程序上注册“加载屏幕”: 我的longpoll函数: 我试过了: ..并在开始轮询后重新连接处理程序,但没有任何乐趣。 我

  • Csrf筛选器验证从“验证”提交的Csrf令牌,当我从HTTP向https提交请求时,抛出无效令牌异常(403)。如何在这种情况下禁用csrf令牌身份验证?

  • 问题内容: 我有一个带有开始和结束日期范围的Django模型。我想强制执行验证,以便没有两个记录具有重叠的日期范围。最简单的实现方式是什么,这样我就不必重复编写逻辑了? 例如,我不想在Form 和 a 以及 admin表单中重新实现此逻辑, 并且 模型被重写。 据我所知,Django在全球范围内强制执行这些类型的条件并不容易。 Googling并不是很有帮助,因为“模型验证”通常是指验证特定的模型