gpt4 book ai didi

google-app-engine - NDB 的此查询的兼容版本是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:52 25 4
gpt4 key购买 nike

也许这是错误的,但我总是在我的应用程序中使用这个查询:

cme_only = Comput.all().filter('__key__ =', cid.key())

此查询与 NDB 的兼容版本是什么?元数据查询非常不同..

编辑:cid 是一个实体,cme_only 是一个我确定只有一个值的可迭代对象

cid = Comput.get_by_id(int(self.request.get('id')))
cme_only = Comput.all().filter('__key__ =', cid.key())

然后在模板中:

{{ for Comput in cme_only }}

我不喜欢,但已经足够了

最佳答案

不需要元数据查询。 NDB 在 __key__ 上拼写查询的方式如下:

ModelClass.query(ModelClass._key == key_value)

也就是说,就像查询属性 foo 是通过过滤 ModelClass.foo == value 一样,ModelClass._key 是表示键的伪属性。

其他发帖人是正确的,如果您只是给定一个实体的完整 key ,则在 Key 对象上使用 get() 方法会更好(更快且更便宜)。此外,如果 e 是一个实体(模型实例),在 NDB 中,键不是 e.key() 而是 e.key (或 e._key ——是的,这就是我在上面提到的同一个 _key 属性,它作为一个类属性和一个实例属性。

事实上,如果您有一个 urlsafe key (例如 'agFfcg4LEghFbXBsb3llZRgDDA'),将其转换为 key 对象的方法是 ndb.Key(urlsafe='agFfcg4LEghFbXBsb3llZRgDDA').

祝你好运!

关于google-app-engine - NDB 的此查询的兼容版本是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11100599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com