如何处理 Django Admin 中的大量删除?

2023-12-27

我正在使用 Django 2.2.10。

我有一个模型叫Site,以及一个名为Record。 每条记录都与一个站点(外键)相关联。

我的应用程序运行几天/几周/几个月后,每个站点都可以有数千条与之关联的记录。我有效地使用数据库,所以这通常不是问题。

然而,在 Django 管理中,当我尝试删除站点时,Django 管理会尝试找出也将被删除的每个关联对象,并且因为我的外键使用on_delete=models.CASCADE,这就是我想要的,它尝试生成一个页面,其中列出了数千条,可能是数百万条将被删除的记录。有时这会成功,但需要几秒钟。有时浏览器会放弃等待。

我怎样才能让 Django Admin 不列出每一个record打算删除吗?也许只是说“将删除 x 条记录”之类的内容。

更新:我应该覆盖 Django admin 删除确认.html 吗?看起来罪魁祸首可能是这一行:

<ul>{{ deleted_objects|unordered_list }}</ul>

或者是否有一个选项可以启用自动不列出要删除的每个对象,也许如果对象计数超过 X 个对象?

更新2:从delete_confirmation.html 中删除上述行没有帮助。我认为生成deleted_objects 变量的视图花费的时间太长。不太确定如何覆盖 Django 管理视图


将其添加到您的管理类中,然后您可以使用此操作删除而不发出警告

  actions = ["silent_delete"]

  def silent_delete(self, request, queryset):
    queryset.delete()

如果您想隐藏默认删除操作,请将其添加到您的管理类中

  def get_actions(self, request):
    actions = super().get_actions(request)
    if 'delete_selected' in actions:
      del actions['delete_selected']
    return actions
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 Django Admin 中的大量删除? 的相关文章

随机推荐

  • 对嵌套结构中的所有值进行索引

    我有一个嵌套结构 其中包含值并定义为 mystruct level1 a 1 mystruct level1 b 2 mystruct level2 a 8 mystruct level2 b 9 我想对level1和level2中的元素进
  • C# - 本地化 - 在 wpf 应用程序中更改语言

    我正在制作一些 wpf 应用程序 我需要更改语言的选项 我的解决方案中有一个名为 Resorces 的文件夹 其中存储了所有 resx 文件 实际上是 language resx 和 language en EN resx 我的 XAML
  • 在 pandas 中创建新列的高效击键方式

    有没有更有效的方法在 pandas 数据框中创建多个新列df初始化为零 for col in add cols df loc col 0 UPDATE using jeff的方法 https stackoverflow com a 4178
  • 除 SIGKILL 之外的信号不会终止 Windows 上的进程

    我正在通过 Go 启动一个简单的 Java 应用程序 目的是证明 Go 可以发送 SIGQUIT 或 SIGTERM 等信号 并且 Java 可以捕获该信号并进行适当处理 即正常关闭 当我在命令行上运行 Java 程序并向其发送 CTRL
  • TortoiseGit 覆盖图标为红色,但所有文件均已提交

    我提交了所有文件 TortoiseGit 中的提交列表为空 但某些文件夹是红色的 我从任务管理器中杀死了 TgitCache exe 但什么也没发生 我重命名了我的文件夹 通过在文件夹名称末尾添加数字 并恢复为主名称 但问题仍然存在 最后
  • 停止在 kestrel 上运行的 dotnet core 网站

    部署现有 net core 网站的新版本时 我首先要如何safely停止旧的正在运行的 Kestrel 应用程序 这是我想编写的示例 伪部署脚本 dotnet stop mysite mysite dll lt this line here
  • 如何使用 Google 表格中的数据将数组插入到 Google 文档中?

    我正在尝试从 Google 工作表中提取一系列名称并将其放入 Google 文档中 在电子表格中 姓氏 lastNames 位于名字 firstNames 之前 并且两者都在单独的列中 我试图将名字和姓氏一起放入我的文档中 并且名字在前 我
  • 如何禁用 WPF ListView 的 XAML 中的某些项目

    好吧 抱歉这个问题太宽泛 但让我们看看你们的建议 我有一个由 XML 文件加载的 WPF ListView 使用 XAML 代码如下 我有第二个 XML 文件 其中包含与 ListView 中的内容相匹配的项目 然而 如果有not第二个文件
  • Python 线程 - 如何在单独的线程中重复执行函数?

    我有这个代码 import threading def printit print Hello World threading Timer 1 0 printit start threading Timer 1 0 printit star
  • Rust 中的字符串与选项匹配

    我试图将输入与可能的类型相匹配 然后将该字符串值转换为数字 我有这样的事情 fn letter to num nameNum str gt Option
  • React DnD useDrop 调用方法时未使用当前状态

    我正在尝试创建一个具有拖放项目功能的待办事项应用程序 我在用着反应免打扰到目前为止一切正常 但是当一个新项目添加到列表中时 我意识到useDrop 中的 drop 方法中调用的函数将仅使用页面首次加载时的状态 没有其他组件存在此问题 当我尝
  • 如何检测应用程序中的表单是否被破坏?

    我们的应用程序中有许多表单 我需要一个全局事件处理程序来检测其中一个表单何时被销毁 然后采取一些操作 p s 我想避免向每个表单添加代码 这些代码需要在主表单即将销毁时向主表单发送消息 大多数表单也是在运行时动态创建和销毁的 我正在考虑也许
  • 如何在没有主机文件的情况下运行 Ansible

    如何在没有主机文件的情况下运行 Ansible 就像 ansible Some Options IP a uptime 你可以这样做 ansible all i
  • 使用什么算法来删除重复项?

    假设我们有一些文件 例如名为 A txt 我们知道有are一些重复的元素 A txt 是very大 比内存大十倍以上 大概50GB左右 有时 B 的大小大约等于 A 的大小 有时则为many比 A 的尺寸小几倍 让它具有这样的结构 a 1
  • 我什么时候会使用 JQuery.Callbacks?

    我正在查看 jQuery 1 7 中添加的新内容 我发现它们现在有 jQuery Callbacks http api jquery com jQuery Callbacks http api jquery com jQuery Callb
  • 如何使用 JavaScript 求 1 到 N 之间所有数字的总和

    我正在尝试找到一种使用 JavaScript 计算 1 到 N 之间所有数字之和的方法 以下是我迄今为止尝试过的代码 但它似乎不起作用 function numberSum N var total 0 for var i 1 i lt N
  • 如何在 2012 年引用 SSIS 中的 dll?

    我正在尝试使用脚本组件向我的 SSIS 包 2012 添加 dll 引用 IntelliSense 正在为我工 作 编码时我没有看到错误 但是 我收到以下错误 无法加载文件或程序集 XYZ 版本 1 0 0 0 文化 中性 PublicKe
  • 使用 jQueryeach 获取图像高度

    我的页面上有一堆图像 我正在尝试使用 jQuery 来获取每个图像的高度并将其显示在图像之后 这是我的代码 document ready function thumb each function imageWidth thumb img a
  • 如何在 PostgreSQL 中从 Json 数组中获取元素

    我对此进行了很多搜索 但仍然无法回答 我正在使用 PostgreSQL 在下面的示例中 列名称为 sections 列类型为 json 我的专栏在数据库中如下所示 sections name section1 attributes attr
  • 如何处理 Django Admin 中的大量删除?

    我正在使用 Django 2 2 10 我有一个模型叫Site 以及一个名为Record 每条记录都与一个站点 外键 相关联 我的应用程序运行几天 几周 几个月后 每个站点都可以有数千条与之关联的记录 我有效地使用数据库 所以这通常不是问题