当通过管理站点修改 Django CharField 时发送电子邮件通知

2024-04-16

我有一个通常为空的 CharField。我想向所有经理发送电子邮件通知(使用mail_managers) 当字段设置为非空值时。对此字段的更改只能通过管理站点进行。

我认为这可能是我可以通过信号做的事情,但我没有看到在文档 http://docs.djangoproject.com/en/dev/topics/signals/。有任何想法吗?


如果您不想在字段再次更改时进行更新,则需要向该字段添加一些历史记录,但只需向模型添加类似于应该可以工作的保存方法:

从 django.db 导入模型

class Test(models.Model):
    empty_field = models.CharField(max_length=20, blank=True)
    def save(self):
        if self.pk is not None:
            orig = Test.objects.get(pk=self.pk)
            if orig.empty_field != self.empty_field and len(self.empty_field) > 0:
                mail_managers ... 
        super(Test, self).save() # Call the "real" save() method                

See http://www.djangoproject.com/documentation/models/save_delete_hooks/ http://www.djangoproject.com/documentation/models/save_delete_hooks/ and Django:保存时,如何检查字段是否已更改? https://stackoverflow.com/questions/1355150/django-when-saving-how-can-you-check-if-a-field-has-changed

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

当通过管理站点修改 Django CharField 时发送电子邮件通知 的相关文章

随机推荐

  • 使用 Core Reporting Google API v4 (Java) 显示超过 10000 行

    我正在使用以下方式获取 Google Analytics 数据核心报告 API v4 https developers google com analytics devguides reporting core v4 对于给定的维度和指标组
  • 数据访问库返回数据集或对象

    在使用调用存储过程的库时是否存在普遍共识 返回数据集或使用 sqldatareader 填充自定义对象 数据传输对象的序列化成本是否低于数据集 就我个人而言 我将 SqlDataAdapter 与 DataTables 一起使用 数据表有W
  • 如何原子地否定 std::atomic_bool?

    朴素的布尔否定 std atomic bool b b b 似乎不是原子的 我怀疑这是因为operator 触发转换为普通bool 如何原子地执行等效的否定 下面的代码说明了朴素的否定不是原子的 include
  • openh264 - bEnableFrameSkip=0,比特率无法控制

    关于 opencv H 264 有很多问题 但是 他们都没有给出详细的解释 我在 Visual Studio 中使用 openh264 openh264 1 4 0 win32msvc dll 以及 opencv 3 1 使用启用 ffmp
  • Shiny:如何检测选择了哪些手风琴元素?

    我有一个 R Shiny 在那里server R输出大量动态生成的UI对象 而不是处理数百个对象input来处理 我想我可以使用bs accordion https ijlyttle github io bsplus articles ov
  • 如何使用 kotlin 通过 TCP 连接发送和接收字符串

    我在 Windows 上有一个 TCP 服务器 我想在服务器和我的 Android 设备之间发送和接收文本字符串 我花了很多时间搜索使用 Kotlin 的示例 但没有找到任何有用的代码 所以我现在只能创建套接字并连接 fun connect
  • 使用 LINQ to XML 将 HTML 标记保留在 XML 中

    我有一个 xml 文件 我使用 LINQ to XML 从中提取 html 这是该文件的示例
  • 将 char* 传递给需要 unsigned char* 的方法

    我正在开发一些带有 SDK 的嵌入式设备 它有一个类似的方法 MessageBox u8 u8 u8 is typedefed unsigned char when I checked 但我在他们的示例中看到调用如下代码 MessageBo
  • 将数据库(.mdf 文件)附加到 SQL Server 时出错

    我在附加数据库时遇到问题DBName mdf到网络 SQL Server 管理员可以手动附加数据库 但如果我尝试 我会收到以下错误消息 数据库 DBName 无法升级 因为它是只读的 具有只读文件或用户无权修改某些文件 使数据库或文件可写
  • 防止直接访问 PHP 页面

    如何防止我的用户直接访问仅用于 ajax 调用的页面 在 ajax 调用期间传递密钥似乎是一种解决方案 而没有密钥的访问将不会被处理 但制造钥匙也很容易 不是吗 查看源代码的诅咒 p s 使用 Apache 作为网络服务器 编辑 为了回答为
  • Qt4.5:在 app.exec 之前使用基于事件循环的 localsocket

    我遇到了 Qt 的实际问题 我正在使用一个与 QLocalSocket 与另一个进程 管道 unix 套接字 通信的类 并且我需要在其他事件发生之前进行通信 即在 app exec 启动之前 或更准确地说 应用程序启动后立即进行 我正在使用
  • 添加 CarPlay 用户界面

    我正在开发我当前的 iPhone 音频应用程序 以支持 CarPlay 我已经获得Apple的批准并获得了开发权利 并观看了视频 Enabling Your App for CarPlay https developer apple com
  • 如何使用 Groovy 拦截 Java 应用程序中所有方法的执行?

    是否可以拦截应用程序中调用的所有方法 我想和他们一起做一些事情 然后让他们执行 我试图覆盖这种行为Object metaClass invokeMethod 但似乎不起作用 这可行吗 你看过吗Groovy AOP http github c
  • 如何使用css3让循环动画等待

    我有一个 css3 动画 内容如下 webkit keyframes rotate from webkit transform rotate 0deg to webkit transform rotate 360deg animated w
  • 如何使用 Xamarin 在 Android 上禁用移动数据

    类似的问题如何在 Android 上禁用移动数据 https stackoverflow com questions 3644144 how to disable mobile data on android 唯一的区别是我想用 Xamar
  • Shadow DOM 中的 Google 分析不起作用

    在我的 chrome 扩展中 没有使用任何 html 页面 而是从后台 js 页面添加影子 DOM 似乎没有任何事件被推动进行分析 添加扩展作为影子根后 结构如下所示 现在chrome扩展manifest json看起来像 manifest
  • Python 中 GCM 模式下的 AES [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道 python 库或 c 库的包装器可以通过以下方式轻松提供经过身份验证的 AESGCM mo
  • 俄语编程语言“Rapira”的现代实现? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有俄语 Rapira 编程语言的现代 1990 年以后 实现 维基百科没有提及 这个问题让我回想起
  • Pipreqs 为 Hydra 生成了不正确的要求

    我在用着pipreqs https github com bndr pipreqs用于生成requirements txt 我开始使用 Hydra 包 参见https Hydra cc https hydra cc or 九头蛇核心 htt
  • 当通过管理站点修改 Django CharField 时发送电子邮件通知

    我有一个通常为空的 CharField 我想向所有经理发送电子邮件通知 使用mail managers 当字段设置为非空值时 对此字段的更改只能通过管理站点进行 我认为这可能是我可以通过信号做的事情 但我没有看到在文档 http docs