在 Django 模型字段中存储二进制哈希值

2023-11-25

我有一个二十字节的十六进制哈希值,我想将其存储在 django 模型中。 如果我使用文本字段,它会被解释为 unicode 并且返回乱码。

目前我正在对其进行编码和解码,这确实使代码变得混乱, 因为我必须能够通过它进行过滤。

def get_changeset(self):
    return bin(self._changeset)

def set_changeset(self, value):
    self._changeset = hex(value)

changeset = property(get_changeset, set_changeset)

这是一个过滤的例子

Change.objects.get(_changeset=hex(ctx.node()))

这是 django 开发人员推荐的方法,但我真的很难接受这样一个事实:只存储 20 个字节是这么难看。

也许我太纯粹了,但理想情况下我能够写

Change.objects.get(changeset=ctx.node())

这些属性允许我写:

change.changeset = ctx.node()

这就是我能要求的最好的了。


从 1.6 开始,Django 有BinaryField允许存储原始二进制数据。然而,对于哈希值和其他高达 128 位的值,使用它会更有效(至少对于 PostgreSQL 后端)UUIDField在 Django 1.8+ 中可用。

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

在 Django 模型字段中存储二进制哈希值 的相关文章

  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 如何在没有 openshift 的情况下托管 Django localhost 应用程序?

    我已经在本地主机中创建了一个 Django 应用程序 现在我需要在互联网上托管 我已经尝试过开档 https www openshift com and 任何地方的Python https www pythonanywhere com也 但
  • Pandas重置索引未生效[重复]

    这个问题在这里已经有答案了 我不确定我在哪里误入歧途 但我似乎无法重置数据帧上的索引 当我跑步时test head 我得到以下输出 正如您所看到的 数据帧是一个切片 因此索引超出范围 我想做的是重置该数据帧的索引 所以我跑test rese
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • “char”/“character”类型的类型提示

    char 或 character 没有内置的原始类型 因此显然必须使用长度为 1 的字符串 但是为了暗示这一点并暗示它应该被视为一个字符 如何通过类型提示来实现这一点 grade chr A 一种方法可能是使用内置的 chr 函数来表示这一
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • Python:计算数据帧列中所有行中特定字符的实例数

    我有一个包含列 toaddress ccaddress body 的数据框 df 我想迭代数据帧的索引 以获取 toaddress 和 ccaddress 字段中电子邮件地址的最小 最大和平均数量 这是通过计算这两列中每个字段中的 和 的实
  • 如何在Python和Selenium中通过标签名称或id获取元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 和 Selenium 获取输入 但它向我显示错误 我该如何解决这个错误 inputElement send keys getStock getStocklFunc 0 Error i
  • 在可编辑的QSqlQueryModel中实现setEditStrategy

    这是后续这个问题 https stackoverflow com questions 49752388 editable qtableview of complex sql query 在那里 我们创建了 QSqlQueryModel 的可
  • conda-env list / conda info --envs 如何查找环境?

    我一直在尝试 anaconda miniconda 因为我的用户使用随 miniconda 安装的结构生物学程序 并且作者都没有 A 考虑到可能存在其他 miniconda 应用程序 B 他们的程序将在多用户环境中使用 因此 使用 Arch
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 查找给定节点的最高权重边

    我在 NetworkX 中有一个有向图 边缘的权重从 0 到 1 表示它们发生的概率 网络连通性非常高 所以我想修剪每个节点的边缘 只保留最高概率的节点 我不确定如何迭代每个节点并仅保留最高权重in edges在图中 有没有一个networ
  • Flask WTForms 使用变量自动填充 StringField

    我有一个表格 我想用上一页收到的信息自动填充一些字段 但如果他们想调整它 它需要是可更改的 我正在为我的 SelectField 使用动态创建的列表 但添加 StringField 并不成功 请参阅下面的我的代码 forms py clas
  • Python 3.2 中 **kwargs 和 dict 有什么区别?

    看起来Python的很多方面都只是功能的重复 除了我在 Python 中的 kwargs 和 dict 中看到的冗余之外 还有什么区别吗 参数解包存在差异 许多人使用kwargs 并通过dict作为论据之一 使用参数解包 Prepare f
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如

随机推荐

  • 按函数应用于 lm()

    我是 R 新手 我刚刚学习apply功能及其工作原理 我只是想从a中提取系数lm适合几年内按产品颜色和品牌划分的变量 x 我知道我可以创建一个 for 循环并按模型年份对数据进行子集化并进行拟合 但我认为是时候开始使用更多内置函数了 所以我
  • FFT系数问题

    我是一名软件工程师 第一次从事 DSP 工作 I m successfully using an FFT library that produces frequency spectrums I also understand how the
  • 将带有纹理的简单模型从 Blender 导出到 Three.js

    Note 我想避免修改 javascript 代码中的模型并在 Blender 中完成所有模型设计 Note 2 虽然这个问题很长 但它实际上是一个基本问题 标题说明了一切 以下是该问题的 演练 我正在尝试将 Blender 模型导出到Th
  • MonoTouch.Dialog:响应 RadioGroup 选择

    我有一个由 MonoTouch Dialog 创建的对话框 广播组中有一个医生列表 Section secDr new Section Dr Details new RootElement Name rdoDrNames secDrName
  • TableModelListener 和多列验证

    这是我第一次在这里发帖 如果有什么错误还请见谅 我正在开发一个 JTable 其中列数据必须验证一些参数 例如 第 3 列值 gt 30第 4 列值 gt 10第 5 列值 gt 4 此外 前 2 列会 自动 填充 在其余列中放入 0 如果
  • 选择组合框中的项目时执行操作[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个包含 item1 和 item2 的 jcombobox 我也有一个 jtextfield 当我在 jcombobox 上选择 item1 时 我希望 30 出现在我的 jt
  • Keras VGG16 微调

    上有VGG16微调的例子喀拉斯博客 但我无法重现它 更准确地说 以下代码用于在没有顶层的情况下初始化 VGG16 并冻结除最顶层之外的所有块 WEIGHTS PATH NO TOP https github com fchollet dee
  • Ruby on Rails:自定义设备注册控制器,请求创建操作

    我有一个自定义注册控制器 但我不想覆盖设计中的创建操作 当我尝试注册用户时 出现以下错误 Unknown action The action create could not be found for Devise Registration
  • 无法在 Eclipse 中导入 java.awt.geom

    我刚刚开始开发一个新的 Eclipse Android 项目 并且想要使用 java awt geom 包中的类 我安装了 OpenJVM 1 6 和 sun 1 6 jdk 都来自 debian 的存储库 当我尝试导入包时 它说导入无法解
  • 如何强制刷新/重新绘制 JScrollPane?

    我在程序开始时根据数据库中的一些内容以编程方式将许多组件 JPanel JLabels 等 添加到 JScrollPane 中 似乎这个过程对于 GUI 来说太快了 因此 JScrollPane 并不总是正确更新 即即使内部 JPanel
  • 存储整数范围、查询范围和修改范围的数据结构

    我们需要维护 mobileNumber 及其在内存中的位置 挑战在于我们拥有超过 500 万用户 存储每个用户的位置就像 500 万条记录的哈希图 为了解决这个问题 我们必须在范围上工作 我们得到了一系列电话号码 例如 范围1开始 9899
  • 用批处理文件替换文本文件中的字符

    有没有办法用批处理文件替换文本文件中的某些字符 我没有找到任何命令来执行此操作 简单的回答是 不 不能使用基本的 Windows 实用程序 但正如其他答案所建议的那样 有很多 UNIX 端口可以满足您的需求 看一眼gnuwin32 软件包
  • c# 中 double[*,*] 与 double[][] 之间的区别

    我用了 double marks new double 26 5 int function object verify marks public void verifymarks double marks 我得到的错误是无法从 double
  • 自定义数据注释 ASP.NET MVC C#

    我有以下关于 C 的 MVC2 的问题 这是我的模型 public class Pmjob Tooltext Hier soll der Name eingegeben werden DisplayName Type public int
  • 安装 python 包失败并显示“无法执行 gcc:没有这样的文件或目录”

    尝试安装 mysql python 出现以下错误 mysql和python已经安装好了 任何帮助将不胜感激 root uu include easy install mysql python Searching for mysql pyth
  • Excel数组countif公式

    我想使用 COUNTIF 函数来计算 2 0 0 5 中有多少项大于 2 在 Countif 函数中 第一个参数是范围 第二个参数是条件 我已经尝试过下面的公式 甚至尝试在最后使用 Ctrl Shift Enter 进行评估 但似乎不起作用
  • 上界泛型 VS 超类作为方法参数?

    据我所知 使用上限泛型和使用超类作为方法参数都接受相同的可能参数 哪个是首选 两者之间有什么区别 如果有 上限泛型作为参数 public
  • env: python3.9: 没有这样的文件或目录

    我有一些 python 代码格式化程序作为 git 预提交挂钩 并且我已将我的 python 版本更改为 brew list grep python email protected email protected brew unlink e
  • 使用 Spring security oauth,使用自定义 OAuth 提供程序,我得到 [authorization_request_not_found],我应该自己处理回调方法吗?

    使用 Spring Security 5 oauth 我使用 Google 作为 OAuth 提供程序成功地运行了整个身份验证 授权周期 但如果我使用自己制作的在不同应用程序上运行的 OAuth 提供程序 我就会陷入困境 我正在使用以下 2
  • 在 Django 模型字段中存储二进制哈希值

    我有一个二十字节的十六进制哈希值 我想将其存储在 django 模型中 如果我使用文本字段 它会被解释为 unicode 并且返回乱码 目前我正在对其进行编码和解码 这确实使代码变得混乱 因为我必须能够通过它进行过滤 def get cha