在Owner
中,我有"owner"
和"owner_tag"
属性。你知道吗
我按owner
查询,然后尝试打印owner_tag
以获得匹配的结果。但我得到的是owner_tag
第一个匹配的每个字母:
所以,在Owner
所有者:邮箱:az@example.com具有所有者标记:tag1, tag2, tag3
。你知道吗
查询匹配"tag1"
,并通过"t"
、"a"
、"g"
、"1"
循环。我不明白为什么?你知道吗
代码如下:
query = Owner.all()
query.filter("owner", user)
w = query.get()
for tag in w.owner_tag:
self.response.out.write("""
%s, %s""" %
(tag, w.tag_value))
更新
如果我使用fetch()
而不是get()
,那么它就工作了。但由于我不知道要获取的项目数,因此如何在不指定数字的情况下获取所有项目。我以为get()
获取了所有匹配项:
query = Owner.all()
query.filter("owner", user)
w = query.fetch(10)
for tag in w:
self.response.out.write("""
%s, %s""" %
(tag.owner_tag, tag.tag_value))
你能解释一下为什么上面的代码有效,而原始的get()
代码无效吗?你知道吗
^{} 总是返回一个结果或} 按您的想法工作,带有可选的
None
,当您对单个字符串进行迭代时,每个值都是一个字符。^{offset
参数,因此您可以根据需要翻页查看结果。你知道吗fetch()
如果可能有大量的结果您可能不想为检索而付费,或者如果您想在一次数据存储访问中获得特定数量的结果,那么fetch()
是有意义的。你知道吗如果您想要所有结果,并且不介意让appengine来决定要在其中检索它们的往返次数,那么您只需遍历查询:
for tag in query.filter("owner", user)
。你知道吗相关问题 更多 >
编程相关推荐