【问题标题】:Can you get all entities of a model in appengine and not a gqlquery您能否在应用引擎中获取模型的所有实体而不是 gql 查询
【发布时间】:2012-04-07 03:13:45
【问题描述】:

我想要一个我所有模型实体的列表。 Model.all() 返回一个 gqlquery。我知道我可以对查询进行列表理解并最终得到我正在寻找的结果。有没有一种内置的方法可以节省做理解的额外步骤?

或者每个人都只是继承和构建自己的方法? ...或者这是一项安全措施,阻止我们访问比我们预期的更多数据产生的成本?

谢谢

【问题讨论】:

  • 实际上,Model.all() 返回的是 Query,而不是 GqlQuery

标签: google-app-engine model gql


【解决方案1】:

要访问实体,您需要一个密钥。如果您只有一种实体,那么 GAE 需要通过索引来查找所有键,例如它使用Metadata Queries

元数据查询让您可以选择按命名空间、种类和属性进行查询。

【讨论】:

    【解决方案2】:

    你有两个选择:

    • 使用 fetch() 并获取定义数量的实体,例如 Model.all().fetch(100)
    • 使用 Model.all() 并循环查询。

    【讨论】:

    • 迭代查询(正如 OP 所建议的那样)是一个坏主意 - 它会导致多个提取操作,而不仅仅是一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2010-12-14
    • 2014-09-03
    • 1970-01-01
    相关资源
    最近更新 更多