google-app-engine - ndb 基于 KeyProperty 实例查询模型

标签 google-app-engine app-engine-ndb

我有一个简单的ndb模型如下:

class TaskList(ndb.Model):
    title = ndb.StringProperty()
    description = ndb.TextProperty()
    priority = ndb.IntegerProperty()


class UserProfile(ndb.Model):
    user = ndb.UserProperty()
    tasks = ndb.KeyProperty(TaskList)

众所周知,TaskList 对象将有一个Entity Kind Entity Key 和一个ID。 给定一个 ID 说 7。 我可以很好地获取 ID 为 7 的对象,如下所示:

task = ndb.Key(TaskList, 7).get()

但是我如何获得任务 ID 为 7 的用户?

我试过:

tsk = ndb.Key(TaskList, 7).get() 
user = UserProfile.query(UserProfile.tasks  == tsk.key)

可以,但是有更好的方法吗?

最佳答案

您快完成了 - 但无需获取任务,只需再次使用其 key 属性即可:

task_key = ndb.Key(TaskList, 7)
user = UserProfile.query(UserProfile.tasks == task_key)

或等同于:

user = UserProfile.query(UserProfile.tasks == ndb.Key(TaskList, 7))

关于google-app-engine - ndb 基于 KeyProperty 实例查询模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195388/

相关文章:

java - 通过使用特定于部署它的 jar 创建一个 java 类,在 Google 应用程序引擎中部署 war 文件

google-app-engine - 查询GAE数据存储时如何修复索引错误?

python - GAE 交易 : pass entity or key?

google-app-engine - 从谷歌应用引擎下载详细日志

eclipse - App Engine 1.7.6 中的 PyDev 断点坏了吗?

google-app-engine - 无法从管理控制台中删除 Google App 引擎服务

google-app-engine - 无法使用 mvn gae :run with version maven-gae-plugin:0. 9.4?

python - NDB 中 M 到 M 的结构化查询

google-app-engine - NDB 的 GAE Memcache 使用率似乎很低

google-app-engine - 减少 Google App Engine 内置索引大小