我有一些模型设置如下:
class Apps(db.Model):
name = db.StringProperty(multiline=False)
description = db.TextProperty()
class AppScreenshots(db.Model):
image_file = db.StringProperty(multiline=False)
description = db.StringProperty(multiline=False)
app = db.ReferenceProperty(Apps)
Run Code Online (Sandbox Code Playgroud)
我试图在屏幕截图中引用"父"应用程序,如下所示:
a = Apps.get(app_key)
ss = AppScreenshots(
image_file = 'foo',
description = 'bar',
app = a
)
ss.put()
Run Code Online (Sandbox Code Playgroud)
但它抱怨我说:
BadArgumentError('_app should be a string; received ag1raWxsZXItcm9ib3RzcgoLEgRBcHBzGAkM (a Key):',)
Run Code Online (Sandbox Code Playgroud)
我试过在互联网上查看一些例子,他们似乎都像上面那样工作.一组文件的谷歌拥有了不同的建议做了一下,像这样的:
a = Apps.get(app_key)
ss = AppScreenshots(
image_file = 'foo',
description = 'bar',
app = a.key()
)
ss.put()
Run Code Online (Sandbox Code Playgroud)
但这给了我完全相同的错误.
我究竟做错了什么?
在MySQL中它就像:
select*from table1 where column1 in('a','b','c');
如何在GQL中做到这一点?
我怎么知道我的查询结果是使用Query接口还是GqlQuery接口返回零结果?使用.get()零结果会产生错误吗?如果是的话,处理它的最佳方法是什么?
KINDS我想使用查询从我的谷歌应用程序引擎数据存储中获取列表(GQL也许?)。例如,人们会简单地show tables使用数据库。
我看过类似的问题(How to list types in datastore?),但是它不能解决我的问题,因为它是 python 特定的。
我目前正在 PHP 中使用 GDS 库(https://github.com/tomwalder/php-gds),如果我知道使用 GQL 查询的实体名称,它可以帮助我从 GDS 获取数据"SELECT * FROM Kind"。
我目前所处的情况是,我可能不知道需要从中获取数据的实体种类的名称,因此需要获取实体种类列表,然后我可以查看并确认该实体是否存在,然后运行我的选择查询。
任何指示将不胜感激。
我可以在 GQL Playground 中执行这个精确的查询并返回数据。在调试期间,我可以在将查询字符串传递给 gql 之前立即捕获它。
我将无法共享架构
查询是
query {
vessels{
vessel {
mmsi
imo
name
shipType
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误
Invalid AST Node: '\n query {\n vessels{\n vessel {\n mmsi\n imo\n name\n shipType\n }\n }\n }\n\n '
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种调试来找出如何解决这个问题,但没有成功
由于App Engine数据存储区不是传统的关系数据库,因此不使用SQL指定查询.相反,您可以使用我们称为GQL的类似SQL的查询语言来准备查询.
它们是什么意思"不是传统的关系数据库",除了要求GQL而不是SQL之外,它还有什么含义.
我试图从我的数据存储区中检索一个条目:
query = UserData.gql("WHERE mDeviceId = :1", id)
Utils.log("my Object:" + str(query))
entry = query.get()
Run Code Online (Sandbox Code Playgroud)
事实上,变量'id'甚至不存在(错字),所以我知道如何解决这个问题,但我不明白为什么我得到的结果不会让我调用get().当我这样做时,我收到错误:
Exception: Unsupported type for property : <type 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)
通常我只是检查条目==无,看看我是否没有结果.有谁知道为什么会发生这种情况,如果我应该以不同的方式对我进行检查,以防我将来有这样的错别字?
我试图在GAE的数据存储区查看器中做一些简单的报告.使用GQL我想只显示一个记录的几个字段.这可能吗?
如何使用字段实体:
f1 f2 f3 f4 f5 f6
并显示
f1 f3 f5 f6
我有一个名为Datastore Kind Order,它有一个祖先/父级User.
我想使用GQL查询订单的所有不同祖先(用户),但以下查询不起作用.
SELECT DISTINCT User FROM Order
查询的响应是:
没有实体匹配此查询.
确保您要搜索的属性有简单索引或复合索引.学到更多
由于父母也是关键的一部分,我也尝试过:
SELECT DISTINCT __key__ FROM Order
但错误回复说:
GQL查询错误:属性:key不支持分组依据
gql gqlquery google-cloud-datastore google-cloud-platform google-query-language