问题标签 [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 投票
1 回答
401 浏览

python - 从 GQL 查询返回的实体数

我是 Python 新手,目前正在开发我的第一个 Google App Engine 应用程序。在我的程序中,我有一个“收件箱”数据库模型,其中包含 to_user、from_user、title、content 等字符串属性。当用户登录到我的应用程序时,我希望能够计算发送给他的消息数量/她,这样我可以将其显示为“新消息(x)”。我觉得我目前正在使用解决方法,因为我找不到更好的方法。

我尝试使用 len(inbox) 但这给了我一个错误。谢谢你的时间。

0 投票
2 回答
431 浏览

performance - 在 GQL 中更喜欢什么;StringListProperty 还是 ListProperty?

我正在构建一个具有多对多关系的应用程序;实体“图片”的项目可以链接到任意数量的画廊(“画廊”)。当然,画廊可以容纳任意数量的图片。

因此,按照此处的 Google 建议,我将在“图片”处使用一个包含“画廊”外键的列表。这是 BigTable 方法。

(旧式关系数据库方法是在“图片”和“画廊”之间有一个表/实体。)

这是我的问题:存储密钥时,我应该在“图片”上选择“StringListProperty”还是“ListProperty(db.Key)”效果更好?

我看到StringList的一个原因是,我还可以存储除键之外的其他值,但另一方面,无论如何这都是肮脏的风格。但我也很确定谷歌建议不要在一个实体上使用一个以上的列表,因为索引会爆炸。所以这会让我成为一个后门。

至于“ Key ”类型的ListProperty,如果值实际上是 Key,则有一点是自动验证。

由于将字符串转换为键非常容易,反之亦然,我看不出有任何理由让其中一种 List 类型更喜欢这里。

当谈到性能问题时,我不知道如何测试它——但看起来这将是这个决定的主要因素。

好奇你的输入。尤其是如果有人对此进行了测试,或者会非常友善地去做。

干杯,//汉内斯

0 投票
4 回答
4113 浏览

python - 如何在 Python 中按键或键过滤 Google App Engine 的查询?

我有一个query,我可以filters毫无问题地申请它们。这工作正常:

但是,如果我想通过key键或键列表过滤查询怎么办?

我将它们作为Key()财产或作为 astring并且通过尝试这样的事情,它不起作用:

0 投票
3 回答
340 浏览

google-app-engine - Google App Engine 中的一对多数据库设置

从上面显示的模型设置中......我可以使用以下方式轻松显示所有存储的账单:

但是我如何列出每个学生的账单?在 SQL 中,我会这样说:

我想我不明白如何检索 ReferenceProperty 给出的账单。在 GQL 中似乎并不那么简单。如何按参考属性查询?

0 投票
1 回答
942 浏览

google-app-engine - DeadlineExceeded错误

当我尝试在 Google App Engine 的数据存储中使用这样的查询时:

我有这个错误:DeadlineExceededError

编辑: 这是我的功能:

在Feed上搜索,花费太多时间,提高一个DeadlineExceededError

0 投票
1 回答
169 浏览

sql - 如何从两个 GQL 类中提取数据?

我有以下两个课程:

我需要创建一个 GQL 查询,它将从两个表中返回一个数据:

但是item除了fileHashadded字段之外,每个字段都应该包含来自第二类的字段 -titlefile(匹配应该由fileHash字段完成)。

0 投票
2 回答
1591 浏览

google-app-engine - GqlQuery 和 ID

我尝试构建 GqlQuery 并通过指定 ID 获取实体,但我收到错误“IndexError:查询返回的结果少于 1 个”。DataStore 不为空。在数据存储查看器中,我找到了必要的 ID。我的代码放在下面:

from google.appengine.ext import db from models.models import News

news = News.gql("WHERE id = 4265")

打印新闻[0].title


我知道 get_by_id 方法,由于某些原因它不满意。但是英语对我来说不是母语,因此我不明白如何正确使用 Key.from_path。

0 投票
1 回答
772 浏览

python - Google AppEngine 复杂的 WHERE 条件

我想要一个类似的条件

  • 开始时间 <= 开始时间输入 <= 结束时间
  • 或者
  • start_time <= end_time_input <= end_time
  • 或者
  • (start_time_input <= start_time AND end_time <= end_time_input )

文档中确定的 2 种方式(http://code.google.com/appengine/docs/python/datastore/queries.htmlhttp://code.google.com/appengine/docs/python/datastore/gqlqueryclass .html)据我了解是:

filter_trips = db.GqlQuery("SELECT key FROM Trips WHERE ( start_time <= :start_time_input AND end_time >= :start_time_input ) OR (start_time <= :end_time_input AND end_time >=:end_time_input ) OR ( start_time >= :start_time_input AND end_time <= :end_time_input )" , start_time_input = start_time_input , end_time_input = end_time_input )

错误:解析错误:符号处的 WHERE 标识符无效(

或者

filter_trips = db.GqlQuery("SELECT key FROM Trips WHERE start_time <= :start_time_input <= end_time OR start_time <= :end_time_input <= end_time OR (:start_time_input <= start_time AND end_time <= :end_time_input )" , start_time_input = start_time_input , end_time_input = 结束时间输入)

错误:解析错误:预计符号 <= 处没有其他符号

请帮忙!

0 投票
1 回答
1084 浏览

python - GQL(谷歌应用引擎)中的OR条件返回错误为什么?

当我在 GQL 中使用 OR 条件时,它返回错误消息“ BadQueryError: Parse Error: Expected no additional symbols at symbol OR。为什么?

0 投票
2 回答
188 浏览

google-app-engine - Google App Engine 中类似 Twitter 的数据库结构

我正在尝试创建一个与 Twitter 非常相似的网站。用户将能够发布消息。用户将能够相互“关注”。在主页上,他们会看到他们关注的用户的消息,按时间排序。

我该如何为此创建 appengine 模型?

在传统的关系数据库中,我想它会是这样的:

数据库“用户”:

  • ID
  • 用户名

数据库“跟随”:

  • 用户身份
  • follow_id

数据库“消息”:

  • 用户身份
  • 信息

查询将类似于:

我想我对上面的例子很清楚。如何在 Google App Engine 中复制它?