Django 管理界面中的只读模型?

2024-04-01

如何在管理界面中使模型完全只读?它是一种日志表,我使用管理功能来搜索、排序、过滤等,但不需要修改日志。

如果这看起来像重复的,这里是not我正在尝试做什么:

  • 我不是在寻找只读fields(即使将每个字段设为只读,您仍然可以创建新记录)
  • 我不想创建只读user:每个用户都应该是只读的。

管理员用于编辑,而不仅仅是查看(您不会找到“查看”权限)。为了实现你想要的,你必须禁止添加、删除并将所有字段设为只读:

class MyAdmin(ModelAdmin):

    def has_add_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return False

(如果你禁止改变,你甚至看不到这些物体)

对于一些尝试自动将所有字段设置为只读的未经测试的代码,请参阅我的回答整个模型为只读 https://stackoverflow.com/questions/7920371/whole-model-as-read-only/7965193#7965193

编辑:这使得所有字段只读:

readonly_fields = [field.name for field in MyModel._meta.get_fields()]

编辑:QuerySet.delete() 仍可能批量删除对象。为了解决这个问题,请提供您自己的“对象”管理器和相应的不会删除的 QuerySet 子类 - 请参阅在 Django 中重写 QuerySet.delete() https://stackoverflow.com/questions/6459616/overriding-queryset-delete-in-django/6459797#6459797

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 管理界面中的只读模型? 的相关文章

随机推荐

  • imagemagick:创建一个 .png 文件,它只是一个实心矩形

    我想创建一个纯色的 png 文件 使用 ImageMagick 一定很容易做到这一点 但我无法找出问题所在 C tmp gt convert size 8x16 stroke black fill black draw rectangle
  • MySQL 列计数与第 1 行的值计数不匹配[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我尝试使用 PHP 将数据插入 MySQL 表 但出现错误 列计数与第 1 行的值计数不匹配 mysql query INSERT INT
  • 有没有办法解决这个 cfqueryparam 内存泄漏?

    Updates 我已将错误提交给 Adob e 并引用了这个 SO 问题 在发生问题的实际代码中 我决定删除对 cfqueryparam 的使用 我现在使用自定义函数根据类型格式化参数 我必须处理安全和速度问题 但它可以使特定进程在当前负载
  • 在尽可能小的区域内拟合矩形

    IOI 95 四个矩形的六种基本布局 给出了四个矩形 找到最小的封闭 新 矩形 可以将这四个矩形安装到其中而不重叠 最小矩形是指面积最小的矩形 所有四个矩形的边都应与封闭矩形的相应边平行 图 1 显示了将四个矩形拼接在一起的六种方法 这六种
  • nginx 已卸载,localhost:8080 仍显示 nginx 欢迎页面

    我使用从brew卸载了nginxbrew uninstall nginx 但是当我去http localhost 8080 我仍然收到 欢迎使用 Nginx 消息 我已经做了什么 重新启动我的电脑 3次 使用删除了额外的 nginx 文件夹
  • 由于许可证问题,在 Jenkins 上构建 Android 失败

    我有一个应用程序 当我使用命令汇编等时 它构建成功 一切正常 我决定使用 Jenkins 但在构建时出现错误 其中显示 What went wrong 25 A problem occurred configuring project ap
  • 如何在 React 中使用引导工具提示?

    我之前有工具提示 并且正在尝试将我的组件迁移到 React 我还没有使用react bootstrap 因为我不确定是否会使用 因为它仍在大力开发中 而且还不是1 0 这是我的渲染代码的片段 span span
  • MySQL选择昨天的日期

    如果我有这样的约会 2013 03 25 我想写一个 MySQL 查询WHERE是 昨天 我该怎么办 这应该可以做到 WHERE date CURDATE INTERVAL 1 DAY
  • 如何更改Android中的数字选择器样式?

    I want to use the NumberPicker component widget but Instead in the default Holo theme I need to replace the blue color w
  • 使用 Logback 屏蔽密码?

    目前 我们一般都会记录进出系统的所有 XML 文档 其中一些文档包含明文密码 我们希望能够配置执行此操作的 logback 记录器 附加程序来进行一些模式匹配或类似操作 并且如果它检测到存在密码则将其替换 最有可能使用星号 请注意 我们不想
  • 尝试使用 CURL 连接到 ASPX 站点?

    我正在尝试登录此网址 http www kalahari com marketplace default aspx 正在提交的两个字段带有标签 ctl00 ctl00 ucMarketPlaceSupportNavigation txtMP
  • 如何在 BSD sed 中使用换行符替换?

    您好 我如何在 BSD sed 中执行以下操作 sed s n g 从手册页来看 它指出 n 将在替换字符串中按字面意思处理 如何避免这种行为 有替代方案吗 我使用的是 Mac OS Snow Leopard 我可以安装 fink 来获取
  • create-react-app 期间的 ENOENT(错误 -4058)

    当我输入 npm 命令 create react app my app 时 出现如下错误 npm ERR code ENOENT npm ERR syscall spawn C Windows System32 npm ERR path C
  • WebView 返回错误的 window.innerHeight

    我有一个使用 Android WebView 以及一些 JavaScript 的应用程序 当我的 WebViewClient 调用时onPageFinished 我提醒 JavaScript 运行初始化方法 我的 JavaScript 在我
  • MediaInfo Helper.Get Basic Video Info() 对于视频流失败

    我需要播放网络流视频 http www wowza com h264 Butterfly 256K mp4 http www wowza com h264 Butterfly 256K mp4 使用 LibVLC 我完成了代码和必要的事情
  • 如何在 Postgres 中获取序列名称列表?

    我想获取 Postgres 中的序列名称列表 在 Oracle 中 我可以使用 select sequence name from user sequences 但在 Postgres 中 当我使用该语句时 它总是会抛出错误 未找到用户序列
  • 如何使用 LTRIM/RTRIM 搜索和替换前导/尾随空格?

    我正在尝试清除充满价格的 NVARCHAR MAX 列中的前导空格和尾随空格 使用 NVARCHAR 由于从多个操作系统导入带有奇数字符的数据 此时 我有一个 t sql 命令可以从静态价格中删除前导 尾随空格 然而 当谈到利用同一个命令来
  • 在为 HTC VIVE 进行 Unity 工作时如何将一个对象粘贴到另一个对象位置

    我想创建一个场景 其中电线 子级 进入套接字 父级 然后电线成为父级的子级 并且它的位置与父级固定 即使我移动父级 电线也应该随之移动用它 该项目基于unity3D FOR HTC Vive 我已经使用 ontriggerenter 事件来
  • 如何使用 Eclipse PDT(xdebug 和 zend 调试器)调试 PHP 应用程序

    我正在开发一个应用程序 我正在使用 Eclipse php Helios IDE 来开发 php 应用程序 I 想知道以下事情与这个IDE相关 这样我就可以立即高效地实现PHP应用程序 1 如何使用Eclipse PHP Helios ID
  • Django 管理界面中的只读模型?

    如何在管理界面中使模型完全只读 它是一种日志表 我使用管理功能来搜索 排序 过滤等 但不需要修改日志 如果这看起来像重复的 这里是not我正在尝试做什么 我不是在寻找只读fields 即使将每个字段设为只读 您仍然可以创建新记录 我不想创建