问题标签 [gqlquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3316 浏览

python - 将 GqlQuery 结果集转换为 python 字典

假设我有一个这样的模型

我要像这样的 GqlQuery

我想获取 GqlQuery 的结果并将其转换为某种 JSON 字符串,我可以使用不同的语言对其进行操作。


这就是我现在的做法

  1. Foo类添加一个方法,将其转换为字典

    /li>
  2. 循环遍历 GqlQuery 结果并手动将每个 Foo 实例添加到字典

    /li>

我上面的方法有效,但感觉有点恶心。

有没有更干净、更“Pythonic”的方式来处理这个问题?

最终格式不必完全是我上面所做的。它必须是可以很好地转换为 JSON 的东西,这样我就可以从 Javascript/PHP/whatever 处理它。

0 投票
4 回答
1634 浏览

python - 您如何在 Google App Engine 项目中查询 Google App Domain 中的用户集?

如果您有一个 Google App Engine 项目,您可以基于 a) 拥有 google 帐户的任何人或 b) 特定的 google 应用程序域进行身份验证。由于您可以连接这两个实体,我假设有一些方法可以查询可以通过身份验证的用户列表。该用例将组织中所有成员的名册输出到在 Google App Engine 上运行的网页。有什么想法吗?

0 投票
9 回答
24929 浏览

google-app-engine - 在 GQL 中计算结果的最佳方法是什么?

我认为进行计数的一种方法是这样的:

我不喜欢的是我的计数将被限制为最大 1000 并且我的查询可能会很慢。有人有解决方法吗?我有一个想法,但感觉不干净。如果只有 GQL 有一个真正的 COUNT 函数......

0 投票
1 回答
2899 浏览

google-app-engine - 实体子级的 Google App Engine 查询(非过滤器)

实体的子实体在查询中可用吗?

鉴于:

假设 500 家工厂生产了 500 种产品,共计 250,000 种产品。有没有办法形成一个资源高效的查询,只返回一个特定工厂生产的 500 种产品?祖先方法是一个过滤器,因此使用例如 Product.all().ancestor(factory_1) 将需要重复调​​用数据存储。

0 投票
2 回答
1718 浏览

google-app-engine - 如何在 Google App Engine 中实现互联网高分

我想为我的游戏实现互联网高分。并向玩家反馈他们的位置(不仅仅是top100或类似的东西)。在普通 SQL 中,它看起来像这样:

SELECT COUNT(*) FROM Scores WHERE points > :newUsersPoints

和 GQL 有类似的东西

db.GqlQuery("SELECT * FROM Score WHERE points > :1", newUsersPoints).count()

但由于 count() 仅限于 1000,因此在我的情况下它不会很有用。您对如何实现这一点有任何想法吗?

我有两个

第一的:

  1. 使用分片计数器的想法(http://code.google.com/intl/pl/appengine/articles/sharding_counters.html)创建新的“表”来存储在某个范围内的分数(from_points,to_points)

  2. 总结上表中 range.to_points < newUsersPoints 的所有计数器

  3. 在新分数为 db.GqlQuery("SELECT * FROM Score WHERE points > :1 AND points >= :2 AND points < :3", newUsersPoints, range.from_points, range. to_points).count() + sumfrom2

  4. 查找新分数所在的范围并增加其计数器

  5. 拆分计数器大于 1000(或 999)的范围,以便 3. 不会达到限制

  6. 将新分数添加到分数表

这是相当复杂且容易出错的。在添加分数之前,我们可能会增加一些范围和超时。(非交易性)

第二个想法:

不时(每天一次?)按分数对所有分数进行排序并给他们新的位置(脚本可能超时,所以我们必须分块执行)

要找出新分数在哪个地方,我们只需要做

db.GqlQuery("SELECT * FROM Score WHERE points > :1 LIMIT 1", newUsersPoints).get().precalculated_position + 1

还有其他想法吗?

0 投票
2 回答
2664 浏览

google-app-engine - GQL 是否支持常用的 SQL 样式聚合?

我正在寻找一个在 SQL 版本中广泛使用的简单聚合函数。

简单的事情喜欢Select Count(*) from table1更复杂的。

如果这些可用,是否有一些文件可以指点我?

谢谢 - 吉吉

0 投票
3 回答
2235 浏览

google-app-engine - 关于 Google App Engine 查询和日期时间的帮助

我使用以下数据:

如何优化查询以仅获取每个“名称”的最新行?例如,我只想结束:

我希望所有结果的日期值都不超过 1 分钟。请记住,日期值是 Python 日期时间属性。

谢谢

0 投票
2 回答
668 浏览

python - GQL 不适用于密钥的 GET 参数

我正在尝试在 Python 中比较 GQL 中过滤结果的关键,但直接比较或类型转换为 int 都有效。因此,我不得不按照下面未注释的行中的说明进行解决。有什么线索吗?

EDIT1-再次尝试不检索记录,密钥与记录一起存在于数据存储中 mydbobject = DbModel.gql("WHERE key = KEY('%s')"%row).fetch(1)

0 投票
2 回答
7364 浏览

google-app-engine - 如何在 GQL 中查询过去 6 小时(日期时间)的所有条目?

我在 Google App Engine 中有一个带有日期字段的简单表格。我想查询从现在到 6 小时前的日期字段值的所有行。我如何形成这个查询?

0 投票
3 回答
2566 浏览

python - GAE - 我如何在 python 中编辑/更新数据存储

我有这个数据存储模型

如何编辑 taskname 的值?说我有task1,我想把它改成task1-project