Google Appengine NDB 祖先与键查询

2023-11-23

我将一个实体的密钥存储为另一个实体的属性,以便将它们关联起来。目前项目正处于重构阶段,所以我正在考虑引入祖先。 这两种方法之间有性能差异吗?如果我们介绍祖先,我可能会获得什么特定的优势?

class Book(ndb.Model):
  ...

class Article(ndb.Model):
  book_key = ndb.KeyProperty(kind=Book, required=True)


book_key =  ndb.Key("Book", 12345)

第一祖先查询方法

qry = Article.query(ancestor=book_key)

第二种简单的按键查询方法

qry = Article.query(book_key=book_key)

祖先查询将始终完全一致。查询依据book_key另一方面,不一定一致:您可能会发现最近的更改不会显示在该查询中。

另一方面,引入祖先对更新次数施加了限制:每秒只能对任何实体组(即祖先及其子级)进行一次更新。

您需要权衡哪一个在您的应用程序中更重要。

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

Google Appengine NDB 祖先与键查询 的相关文章

  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • Hadoop MapReduce - 每个输入一个输出文件

    我是 Hadoop 的新手 我正在尝试弄清楚它是如何工作的 至于练习 我应该实现类似于 WordCount Example 的东西 任务是读入多个文件 进行字数统计并为每个输入文件写入一个输出文件 Hadoop 使用组合器并将映射部分的输出
  • 为每组选择前 2 个值

    我无法获取每个组的前 2 个值 组位于列中 例子 ID Group Value 1 A 30 2 A 150 3 A 40 4 A 70 5 B 0 6 B 100 7 B 90 我希望我的输出是 ID Group Value 1 A 15
  • svg动画可以暂停而不丢失累积的信息吗?

    您可以不受限制地停止和重复动画 但如果重新启动无限期动画 它将丢失其累积值并从初始值开始 也许我应该用一个例子来澄清 以这个动画为例
  • 在 WPF 中使用 Unity 解析时 SynchronizationContext.Current 为 null

    我有一个 WPF 代码 看起来像这样 public class AlphaProductesVM BaseModel private ObservableCollection
  • 如何编辑jupyter lab主题

    As 在上一个问题中描述过 现在可以编辑 Jupyter Lab 主题 然而 这个主题对我个人来说有一些问题 例如 它使绘图轴难以阅读 因为它们的默认颜色是黑色 其他用户have had 类似问题 因此 我想分叉现有主题并将绘图显示单元设置
  • 测量 C++ OpenMP 代码中的执行时间

    我正在 i 以顺序方式运行 cpp 代码并 ii 使用 OpenMP 语句 我想看看时差 为了计算时间 我使用这个 include
  • l.append[i],对象不可下标? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 当我做 l for i in range 10 if i 3 0 or i 5 0 l append i print sum l I get Traceback most r
  • 使用 EPPLUS 下载受密码保护的 Excel

    我正在使用 Excel 形式导出数据EPPLUSExcel 库 我希望当 Excel 下载时它会要求输入密码 我尝试过以下代码 FileInfo newFile new FileInfo sample xlsx using ExcelPac
  • Node.js 和 JXcore 如何选择?

    JXcore 似乎是对 Node js 的改进 检查这个精心设计的报价 JXcore 具有内置的多线程支持 可以 在您现有的 Node js 应用程序上启用 无需额外 变化 JXcore 多线程可能比 Node JS 集群模块带来大约 30
  • 如何在Google表格中列出所有排列而不重复?

    当前帖子是此链接问题的后续问题 洗牌一副假设的 7 张交易卡 并在 Google 表格中列出它们可以出现的订单 惊喜 我的问题孩子实际上是 真女神转生 3 的排列 一款电子游戏 我认为将其放入交易卡的术语中对于外行来说会更有意义 对不起 好
  • 如何将地图转换为数据框?

    m 是一个映射 如下所示 scala gt m res119 scala collection mutable Map Any Any Map A gt 0 11164610291904906 B gt 0 1185675594342461
  • Node.js 请求 CERT_HAS_EXPIRED

    我正在使用 Mikeal 的请求 https github com mikeal request 向服务器发出 https 请求 但是 我不断收到 CERT HAS EXPIRED 授权错误 request url https www do
  • 如何使用 jq 从 JSON 获取键名称

    curl http testhost test com 8080 application app version jq version jq 上述命令仅输出如下值 email protected 2323 test 02 03 2014 1
  • HibernateException:无法获取当前线程的事务同步会话

    我收到错误 Exception in thread main org hibernate HibernateException Could not obtain transaction synchronized Session for cu
  • 如何更改每个 HTTP 请求的 NHibernate 连接字符串?

    确实如上 An ISessionFactory OpenSession 可以提供一个IDbConnection 另一种选择是实施IConnectionProvider这将创造适当的IDbConnection实例取决于某些条件 必须是全局的
  • wkhtmltopdf 输出流和下载 - 对话框

    是否可以从任何 html 文件获取 wkhtmltopdf 创建的 pdf 流 并在 IE Firefox Chrome 等中弹出下载对话框 目前我通过以下代码获取输出流 public class Printer public static
  • Rails 3 中的自引用模型

    我有一个实体模型 我想显示实体之间的连接 即实体 1 连接到实体 2 我现在的想法是在两者之间创建一个称为 Connection 的连接模型 并让它像传统的 Rails 连接表一样工作 除了列为entity one id和entity tw
  • 如何直接在 C# 中执行批处理命令?

    我想执行批处理命令并将输出保存在字符串中 但我只能执行文件而无法将内容保存在字符串中 批处理文件 回声关闭 C lmxendutil exe licstatxml 主机 serv005 端口 6200 gt C Temp HW Lic XM
  • XCODE 在构建和运行时自动保存代码?

    如何告诉 Xcode 在每次构建并运行时自动保存源代码而不提示 Xcode 首选项 选择 建筑 选项卡 右下角 对于未保存的文件 选择 始终保存
  • Google Appengine NDB 祖先与键查询

    我将一个实体的密钥存储为另一个实体的属性 以便将它们关联起来 目前项目正处于重构阶段 所以我正在考虑引入祖先 这两种方法之间有性能差异吗 如果我们介绍祖先 我可能会获得什么特定的优势 class Book ndb Model class A