如何实现在更改时自动更新的可变 PickleTypes

2023-12-10

SQLAlchemy 提供PickleType和优惠突变追踪对于任何可变的类型(如字典)。

SQLAlchemy 文档提到这是实现可变的方法PickleType但它没有具体说明如何进行。

Note:我想在中存储一个字典PickleType.

你如何实现这一点?


虽然文档提到了一些示例,但在我看来还不够,因此我将在此处添加我的实现,该实现可用于实现经过腌制并存储在数据库中的可变字典。

Use the MutableDict文档中的示例:

class MutableDict(Mutable, dict):

    @classmethod
    def coerce(cls, key, value):
        if not isinstance(value, MutableDict):
            if isinstance(value, dict):
                return MutableDict(value)
            return Mutable.coerce(key, value)
        else:
            return value

    def __delitem(self, key):
        dict.__delitem__(self, key)
        self.changed()

    def __setitem__(self, key, value):
        dict.__setitem__(self, key, value)
        self.changed()

    def __getstate__(self):
        return dict(self)

    def __setstate__(self, state):
        self.update(self)

现在创建一个要跟踪的列:

class MyModel(Base):
    data = Column(MutableDict.as_mutable(PickleType))

我想看看其他一些可能更高级或可能使用不同数据结构的示例。通用方法是什么pickle看起来像?有吗(我想没有,或者 SQLAlchemy 会有一个)。

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

如何实现在更改时自动更新的可变 PickleTypes 的相关文章

  • GUI 测试工具 PyUseCase 与 Dogtail 相比如何?

    GUI测试工具如何Py用例 http pypi python org pypi PyUseCase重命名为故事文本 http pypi python org pypi StoryText 相比于Dogtail http en wikiped
  • 从所有数据帧列中删除子字符串

    我有一个单词列表 大约 1000 个单词 我称之为负面单词 CAST ARTICLES SANITARY JAN CLAUSES SPECIAL ENDORSEMENT 我很快就会用这个单词列表制作一个数据框 我还有一个数据框 看起来像 F
  • 使用管理员权限打开cmd(Windows 10)

    我有自己的 python 脚本来管理我的计算机上的 IP 地址 它主要在命令行 Windows 10 中执行netsh命令 您必须具有管理员权限 这是我自己的计算机 我是管理员 运行脚本时我已经使用管理员类型的用户 Adrian 登录 我无
  • pyCUDA无法打印结果

    最近 我使用 pip 为我的 python3 4 3 安装 pyCUDA 但我在测试示例代码时发现 https documen tician de pycuda tutorial html getting started https doc
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • Python Selenium 打印另存为 PDF 等待文件名输入

    我正在尝试通过打印对话框将网站另存为 PDF 我的代码允许我另存为pdf 但要求我输入文件名 我不知道如何将文件名传递到弹出框 附上我的代码 import time from selenium import webdriver import
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • 了解 Python 2.7 中的缩进错误

    在编写 python 代码时 我往往会遇到很多缩进错误 有时 当我删除并重写该行时 错误就会消失 有人可以为菜鸟提供 python 中 IndentationErrors 的高级解释吗 以下是我在玩 CheckIO 时收到的最近 inden
  • Pandas 字典键到列[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 index column1 e1 u c680 5 u c681 1 u c682 2 u c57 e2 u c680 6 u c681 2 u c682 1 u c57 e3 u c68
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • Python在没有pandas的情况下解码excel表

    我正在尝试在 python 中读取 excel 文件而不使用pandas or xlrd 我一直在尝试将结果转换为bytes to utf 8没有任何成功 xls 文件中的数据 colA colB colC spc 1D0 20190705
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • 如何将 URL 添加到 Telegram Bot 的 InlineKeyboardButton

    我想制作一个按钮 可以从 Telegram 聊天中在浏览器中打开 URL 外部超链接 目前 我只开发了可点击的操作按钮 update message reply text Subscribe to us on Facebook and Te
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • SQLAlchemy 与 count、group_by 和 order_by 使用 ORM

    我有几个函数需要使用 count group by 和 order by 进行一对多连接 我使用 sqlalchemy select 函数生成一个查询 该查询将返回一组 id 然后我对其进行迭代以对各个记录执行 ORM 选择 我想知道是否有
  • 如何有效地比较 pandas DataFrame 中的行?

    我有一个 pandas 数据框 其中包含雷击记录以及时间戳和全球位置 格式如下 Index Date Time Lat Lon Good fix 0 1 20160101 00 00 00 9962692 7 1961 60 7604 1
  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM
  • Tkinter 将鼠标点击绑定到框架

    我一定错过了一些明显的东西 我的 Tkinter 程序中有两个框架 每个框架在网格布局中都有一堆标签 我想将鼠标点击绑定到其中一个而不是另一个 我目前使用 root bind

随机推荐

  • 在 Excel VBA 中查找给定行号后的第一个空行

    我需要find the 第一个空行号在给定的行号之后 请检查下面的图片 例如 假设我当前的行号是 6 那么我的输出应该是 10 像这样的东西吗 function FindFirstEmpty i as long while cells i
  • UML 类关系

    我想确认在识别常见的 UML 类关系时我是否走在正确的轨道上 例如 以下关系是 1stackoverflow 成员和他 她的 stackoverflow 用户帐户被分类为组合关系还是聚合关系 起初我以为这是一个协会 因为该成员 有一个 帐户
  • 在可为空的 DateTime 对象上使用 ToShortDateString() 方法会出现一些问题,为什么?

    我有以下问题 在课堂上我声明 vulnerabilityDetailsTable AddCell new PdfPCell new Phrase currentVuln Published ToString fontNormale Bord
  • ggplot 中的绘制函数 - 参数列表

    函数绘图的简单示例 p lt ggplot data data frame x 0 mapping aes x x p stat function fun function x x 2 1 2 是否可以在 ggplot 的绘图代码中添加参数
  • 导出具有不同层次结构的 haskell 模块

    在 Haskell 中 模块名称和包含该模块的文件名必须相同 问题不仅是文件名 还包括所有路径 因此您必须 据我所知 创建一个与模块层次结构匹配的目录结构 这有点烦人 例如 假设我正在模块 M 中编写数据类型 D 我认为该模块应该位于Dat
  • 如何监听 ListView 中的滚动?

    ListView似乎不支持Scroll事件 每当列表滚动时我需要调用一个函数 我该怎么办 为什么列表滚动时需要调用函数 如果您在滚动时更改项目 我建议将列表视图设置为虚拟 或者您可以覆盖列表视图并执行以下操作 public class Te
  • 将 Expression> 转换为 Expression>

    我有以下类型的表达式Expression
  • Heroku 移动区域

    一段时间以来 我一直在尝试将我的应用程序迁移到新区域 这是业余爱好计划 我不想创建一个具有相同区域的新计划并手动移动所有内容 继docs 我达到了这一步 heroku fork from fapp to sapp region eu Get
  • webapi,如何使用自定义模型绑定程序从 POST/PUT 操作读取文件

    我有以下反应组件 显然它工作正常 import React Component from react import Row Col from antd import PageHeader from components utility pa
  • Android通过蓝牙进行语音识别

    我在活动中使用语音识别 我刚刚意识到 如果我连接了耳机 识别器仍然只能通过手机麦克风进行监听 有什么办法可以让它通过耳机收听吗 我确实注意到了这一点 http developer android com reference android
  • 如何在 Odoo 控制器中获取 JSON 数据?

    我正在尝试将一些 JSON 数据发送到 Odoo 控制器 但是当我发送请求时 我总是收到 404 作为响应 这是我的控制器的代码 import openerp http as http import logging logger loggi
  • JSON.h:尝试导入 JSON 框架时找不到文件

    当我构建时 我得到了这个错误 JSON h File not found 明显的假设让我认为 JSON h 文件不在导入到我的项目中的框架文件夹中 是的 它不存在该名词 但有一个名为SBJson h 我已关注这个分步教程 around 从项
  • 如何从 Subversion 存储库中删除意外放入的大文件 (4GB)?

    好吧 这个文件被错误地放入存储库中 并被删除并添加到忽略列表中 然而 因为它once存在 我的存储库现在大小 gt 4GB 并且某些 SVN 功能需要数年时间才能完成 我将不胜感激任何帮助和提示 如果重要的话我用的是XP 如何从存储库的历史
  • DuplicateHandle(),在第一个或第二个进程中使用?

    Windows API DuplicateHandle http msdn microsoft com en us library ms724251 VS 85 aspx需要复制对象句柄以及原始进程和要在其中使用复制句柄的其他进程的句柄 我
  • 如何使用flask创建进度条? [复制]

    这个问题在这里已经有答案了 只是想在我的 html 页面中插入一个进度条 它应该从我的 app py 中的 for 加载 这就是我到目前为止所做的 app py from flask import Flask render template
  • 创建具有不同样式的大量文本 - JavaFX FXML

    在我的 JavaFx 应用程序的 fxml 类中 我想使用最少的组件添加大量文本 而不是每行添加多个标签 我还想在同一组件中创建不同样式的文本 我应该使用什么组件 例如 TextArea 以及如何在其中创建多种样式 使用 css Use a
  • 如何使用标准输入在 Swift 3.0 中运行进程

    我在使用 Swift Process 运行 MySQL 恢复转储文件时遇到问题 let command usr local bin mysql h theHost P 3306 u root pTheInlinePassword examp
  • 使用对象映射器解析嵌套的字典数组

    我正在解析一个 Web api 响应 它是一个字典数组 每个字典又都有一个嵌套的字典数组 我该如何解析它 请提供一些代码示例 我的 API 响应是 FilingStatusId 0 FormName MISC OrderId 0 Recip
  • 如何将 HTTPS 与 Microsoft.AspNet.Server.WebListener 结合使用

    在本文的最后http www asp net vnext overview aspnet vnext create a web api with mvc 6它描述了如何使用 Microsoft AspNet Server WebListen
  • 如何实现在更改时自动更新的可变 PickleTypes

    SQLAlchemy 提供PickleType和优惠突变追踪对于任何可变的类型 如字典 SQLAlchemy 文档提到这是实现可变的方法PickleType但它没有具体说明如何进行 Note 我想在中存储一个字典PickleType 你如何