Django 模型实例是否可哈希?

2024-05-26

Django 模型实例是否可哈希?例如,我可以使用 Django 模型实例作为字典键,或者创建一组唯一的模型吗?

如果它们是可哈希的,那么是什么导致两个 Django 模型实例被认为是相同的?它是否天真地实现了 Hashable,以便仅当它们是内存中相同的 Python 对象时才认为它们是相同的,或者它是否以某种方式使用 Model 实例的值?


模型实例是可哈希的。如果它们是相同类型且具有相同主键的模型,则它们被认为是相同的。你可以看到这个定义于django.db.models.base https://github.com/django/django/blob/master/django/db/models/base.py#L456:

class Model(object):

    ...

    def __hash__(self):
        return hash(self._get_pk_val())

    ...

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

Django 模型实例是否可哈希? 的相关文章

随机推荐

  • 如何将日期格式设置为 1900 年代?

    我正在预处理数据 一列代表日期 例如 6 1 51 我正在尝试将字符串转换为日期对象 到目前为止我所拥有的是 date row 2 strip format m d y datetime object datetime strptime d
  • 使用 Android 数据绑定时,如何通过 xml 为自定义 setter 传递多个参数

    假设我有一个自定义 setter 方法 其中需要两个参数 BindingAdapter imageUrl placeholder public static void loadImage ImageView imageView String
  • 将对象传递给 uibinder 中定义的小部件的构造函数

    我试图将我的应用程序的 EventBus 通过其构造函数传递给 UiBinder 中声明的小部件 我使用 UiConstructor 注释来标记接受 EventBus 的构造函数 但我不知道如何从 ui xml 代码中实际引用该对象 也就是
  • QuantLib:构建关键利率风险

    我能够为国债市场建立一条贴现曲线 然而 我希望用它来找出单个债券 最终是债券投资组合 的关键利率风险 我正在寻找的关键利率风险是 如果我拥有 30 年期债券 并且我们改变用于贴现债券的 1 年期利率 同时保持其他利率不变 那么债券的价格会变
  • 原生C有通用符号吗?

    在GCC10中 gcc默认为fno common 这意味着 所有暂定定义的符号都不通用 我认为gcc符合C规范 但本地C程序中似乎没有通用符号 通用符号仅适用于扩展语法吗 原生C有通用符号吗 阅读C11标准n1570 https web c
  • 防止用户在 javascript 中离开我的页面

    在我的表单中 我有一个不显眼的情态 如果用户单击我的 离开图像 我会打开模式并询问他是否想离开 如果用户同意 JavaScript Jquery 是否可以 停止 重新加载或页面更改以显示我的模式并继续操作 重新加载 下一页 上一页等 I t
  • Stripe 创建使用记录错误 - 时间戳必须早于订阅的当前周期结束时间 - Date.now()?

    我正在尝试为按计量计划的客户创建条带使用记录 当我在请求中使用时间戳 Date now 时 我收到的错误是 无法使用此时间戳创建使用记录 因为时间戳必须早于订阅的当前周期结束时间 这似乎是不言自明的 但考虑到订阅的当前周期结束时间还剩 14
  • 用于检查属性是否适用的 React 函数是什么? [复制]

    这个问题在这里已经有答案了 基于此问答 React 包装器 React 无法识别 DOM 元素上的 staticContext 属性 https stackoverflow com questions 49358560 react wrap
  • PowerShell,使用 Start-Job 和 Start-Process 测试异步任务的性能/效率

    我很想测试 PowerShell 中异步任务的性能 有用性Start ThreadJob Start Job and Start Process 我有一个包含大约 100 个 zip 文件的文件夹 因此进行了以下测试 New Item 00
  • 如何使用 VBS 将 ping 写入文本文件

    如果我使用 VBS 运行一些 CMD 命令 在本例中为 ping 如何使用 VBS 而不是 DOS 将命令写入文本文件 Set objCmdTest WScript CreateObject WScript Shell Set Output
  • 如何找出NPX运行的是哪个文件?

    当你跑步的时候 说 npx webpack在终端中 NPX 找到一个webpack打包某处并运行它 如何确定NXP运行的二进制文件的确切位置 我正在寻找类似的工具which https en wikipedia org wiki Which
  • 在 IntelliJ IDEA 中附加 Gradle 源

    当我使用默认的 gradle 包装器并创建目录选项在 IntelliJ 中创建 Gradle 项目后 我看到项目结构是通过以下命令创建的build gradle file IntelliJ 提示我 您可以配置 Gradle 包装器以使用带有
  • 如何根据条件禁用 TestNG 测试

    目前有没有办法根据条件禁用 TestNG 测试 我知道您当前可以在 TestNG 中禁用测试 Test enabled false group blah public void testCurrency 我想根据条件禁用相同的测试 但不知道
  • Firebase 验证电子邮件模板编辑

    是否有或将会有任何方式来编辑验证电子邮件模板或使用不同的语言 而不仅仅是英语 对于非英语用户来说 用户体验很糟糕 请您分享一下此功能的路线图 谢谢 托马斯 在发送 firebase 电子邮件之前 您可以设置模板的语言 您可以在firebas
  • wpf 控件宽度绑定

    我有两个带有内容的边框 第二个边框宽度根据情况而变化 在内容上 我试图将第一个边框绑定到第二个边框宽度 但是 它不起作用 我不确定我错过了什么 有人可以给我一些指导吗 下面是我目前正在尝试的示例
  • 在 R 中执行 read.csv 时未读取所有行

    这是输入文件 http www yourfilelink com get php fid 841283 http www yourfilelink com get php fid 841283 我执行了 options stringsAsF
  • Qt WebEngine 中 QWebInspector 的替代品是什么?

    代码片段的示例在这里 from PySide2 import QtCore QtGui QtWidgets QtWebChannel from PySide2 QtWebEngineWidgets import QWebEngineView
  • 为 javascript 编写一个真正具有包容性的随机方法

    Javascript MATH 对象有一个随机方法 该方法从集合 0 1 返回 0 含 0 1 不包括 有没有办法返回一个真正随机的方法 其中包括 1 e g var rand MATH random 2 if rand gt 1 rand
  • 自动创建文件“requirements.txt”

    有时我从以下网站下载Python源代码GitHub https en wikipedia org wiki GitHub并且不知道如何安装所有依赖项 如果没有的话要求 txt文件我必须手动创建它 给定Python源代码目录 是否可以创建要求
  • Django 模型实例是否可哈希?

    Django 模型实例是否可哈希 例如 我可以使用 Django 模型实例作为字典键 或者创建一组唯一的模型吗 如果它们是可哈希的 那么是什么导致两个 Django 模型实例被认为是相同的 它是否天真地实现了 Hashable 以便仅当它们