Django - 在将文本保存到数据库之前如何修改文本?

2024-01-05

我想输入类似的内容(通过管理页面):

text = 't(es)t'

并将它们另存为:

'test'

在数据库上。

我使用这个正则表达式来修改它们:

re.sub(r'(.*)\({1}(.*)\){1}(.*)', r'\1\2\3', text)

我知道如何转换文本't(es)t' to 'test'但问题是

当我使用时

name = models.CharField(primary_key=True, max_length=16)

输入文本(来自管理员)。立即保存到数据库,保存前不能修改。

最后,来自管理员的单个输入text = 't(es)t'(查菲尔德)。

我想要什么?

  1. To use 't(es)t'作为字符串变量。
  2. Save 'test'到数据库

尝试覆盖模型中的保存方法,

class Model(model.Model):
    name = models.CharField(primary_key=True, max_length=16)

    # This should touch before saving
    def save(self, *args, **kwargs):
        self.name = re.sub(r'(.*)\({1}(.*)\){1}(.*)', r'\1\2\3', self.name)
        super(Model, self).save(*args, **kwargs)

Update:

class Model(model.Model):
        name = models.CharField(primary_key=True, max_length=16)
        name_org = models.CharField(max_length=16)

        # This should touch before saving
        def save(self, *args, **kwargs):
            self.name = re.sub(r'(.*)\({1}(.*)\){1}(.*)', r'\1\2\3', self.name)
            self.name_org = self.name # original "t(es)t"
            super(Model, self).save(*args, **kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django - 在将文本保存到数据库之前如何修改文本? 的相关文章

随机推荐

  • 在 Ubuntu 上使用 Jenkins 用户从 GitHub 获取时权限被拒绝(公钥)

    这是我的设置 Jenkins 在我的 Linux 机器上以 jenkins 用户身份运行 我已经生成了一个 ssh 密钥对 如中所述Linux 设置 Git http help github com linux set up git 对于
  • rxjs 5 中的发布和多播运算符有什么区别?

    我正在阅读 rxjs 手册 我对多播和发布运算符之间的区别有点困惑 他们看起来很相似 我在阅读时也有同样的问题http reactivex io rxjs manual overview html http reactivex io rxj
  • 将 Javascript 注入 Webview - Swift

    加载一些自定义 html 后 如何将 javascript 注入到 webview IOS Swift 中 IBOutlet weak var webView UIWebView var html div div self webview
  • UIGestureRecognizer 阻止子视图处理触摸事件

    I m trying to figure out how this is done the right way I ve tried to depict the situation 我正在添加一个UITableView作为 a 的子视图UI
  • 网络检查器下资源加载之间的空白时间

    我一直在开发一个新网站并练习我的 JS jQuery AJaxy 技能 昨晚 我想看看页面渲染需要多长时间 看看是否有任何区域可以清理以提高速度 虽然页面每次加载时间约为 200 300 毫秒 但我在网络检查器下的资源加载之间看到大量空白
  • 如何在 `git merge` 之后使用 `git rebase -i` 而不会弄乱事情?

    我有以下情况 我对本地存储库进行了一些提交 然后将另一个分支 约 150 次提交 大量合并到主分支中 这里面有很多冲突 现在 我想将合并之前所做的提交移到推送之前的提交之后 通常情况下 我会使用rebase i for it 不幸的是 默认
  • 如何将代码片段嵌入到对话中?

    我不知道如何将代码片段嵌入到我的对话中 如下所示 从谷歌我找到了一些教程 例如 嵌入式代码片段简介 https github blog 2017 08 15 introducing embedded code snippets 嵌入代码片段
  • AngularJS:如何使用自定义 HTML 将 ui-grid 数据导出到 Excel?

    与此链接相关 AngularJS 如何将 ui grid 数据导出到 Excel https stackoverflow com questions 40265774 angularjs how to export ui grid data
  • 将 AngularJS 表单发送到 NodeMailer 以发送电子邮件

    我使用 AngularJS 在模态实例中构建了一个电子邮件表单 其中包含发送电子邮件 收件人电子邮件 主题和电子邮件内容的字段 该表单使用输入框和 ng models 来跟踪数据 当用户点击此表单上的发送按钮时 我想将模型收集的所有信息发送
  • Python 中的不可变列表

    我试图制作一个在整个应用程序中使用的不可变列表 我认为将这个列表包装在一个元组中可以解决问题 但似乎tuple list 实际上并不换行 而是复制列表元素 gt gt gt a 1 2 3 4 gt gt gt b tuple a gt g
  • 如何检测和删除(在会话期间)无法进行垃圾收集的未使用的 @ViewScoped beans

    编辑 这个问题提出的问题在 codebulb ch 的这篇文章中得到了很好的解释和证实 包括 JSF 之间的一些比较 ViewScoped CDI ViewSCoped 以及全能面孔 ViewScoped 并明确声明 JSF ViewSco
  • opengl:glFlush() 与 glFinish()

    我无法区分调用之间的实际区别glFlush and glFinish 文档说glFlush and glFinish 将把所有缓冲操作推送到 OpenGL 以便可以确保它们都会被执行 区别在于glFlush 立即返回 其中glFinish
  • 不使用扫描仪在控制台中获取用户输入

    我想知道使用其他类从用户那里获取输入的其他方法BufferedReader等而不是使用 Scanner 类 那么 还有其他方式获取用户的输入吗 如果是这样 它比Scanner class 如果您使用的是 Java SE6 或更高版本 那么您
  • netbeans 无法解析标识符 c_str

    大家好 我最近从 Qt Creator 切换到 NetBeans 我对这个决定感到遗憾 这是我遇到的有关编译器错误等的最新 许多 问题 上期及MinGW64编译器安装 https stackoverflow com questions 41
  • 在运行时在 Windows 窗体上找到 ErrorProvider

    我正在制作一个扩展方法库以在 Windows 窗体应用程序中使用 我打算创建的方法之一将使在输入控件上设置错误状态变得更容易 例如 public static void SetError this System Windows Forms
  • Google Maps Android API V2 遮蔽了部分布局

    我正在尝试将 Google Maps Android API v2 集成到我的 Android 应用程序中 我将 Google 地图放在布局的中间 当布局能够适合屏幕时它效果很好 但是当布局太大而无法容纳并且用户向下滚动以查看其余内容时 布
  • Jquery:当用户单击除该 div 之外的任何内容时如何隐藏该 div。无叠加

    我在想 one在这种情况下会有用吗 但我不知道该怎么做 当我单击搜索链接时 会出现一个搜索框 我希望用户能够单击该 div 中的任何内容而不关闭它 但是当用户单击该 div 之外的任何内容时 div 就会淡出 嗯 这是一个example h
  • 使用数组的矩阵乘法

    我正在尝试使用多维数组创建一个简单的矩阵乘法方法 2 2 我对此有点陌生 我只是找不到我做错了什么 如果有人帮助我告诉我它是什么 我真的很感激 我不想使用库或类似的东西 我这样做主要是为了了解它是如何工作的 预先非常感谢您 我在 main
  • 更新并返回 Mongodb 中的文档

    我想要获取更新的文档 这是我的原始代码 它成功更新但不返回文档 collection update code req body code set req body updatedFields function err results res
  • Django - 在将文本保存到数据库之前如何修改文本?

    我想输入类似的内容 通过管理页面 text t es t 并将它们另存为 test 在数据库上 我使用这个正则表达式来修改它们 re sub r 1 1 r 1 2 3 text 我知道如何转换文本 t es t to test 但问题是