1

当我通过查看数据存储区知道存在匹配条目时,执行 gql.query 并没有得到任何结果 - 有人吗?也许它与我的变量的格式有关?

for each in leveloneAdd:
    new = tuple(each[1:-1].split(','))
    tag = new[0]
    htype = new[1]

    q1 = Level_1_Headings.all().filter("name1 =",tag).filter("heading_type =",htype).get()

所以在我的日志中:已经确认变量的值如下:

INFO     2013-01-14 20:28:38,370 main.py:293] new is (u"'english'", u" 'subject'")
INFO     2013-01-14 20:28:38,370 main.py:295] tag is 'english'
INFO     2013-01-14 20:28:38,370 main.py:297] heading type is  'subject'

还确认条目确实退出(name1 和 heading_type 都是可索引的)

4

1 回答 1

2

查看您的元组,您似乎有包含引号的字符串:

(u"'english'", u" 'subject'")

因此,当您尝试查询它们时,您正在查询'english'而不是english,我假设您想要。如果可能,请尝试从原始字符串中删除引号,以查看结果是否按预期返回。你可以在这里看到不同之处:

In [61]: t = (u"'english'", u"'subject'")

In [62]: a, b = t

In [63]: print a, b
'english' 'subject'

In [64]: t = (u"english", u"subject")

In [65]: a, b = t

In [66]: print a, b
english subject

要修复它,您可以尝试这样的事情(注意:您在 前面有一个前导空格subject,因此您可能需要对此进行调整):

In [68]: a, b = [i.strip("'") for i in t]

In [69]: a, b
Out[69]: (u'english', u'subject')

In [70]: print a, b
english subject
于 2013-01-14T20:59:33.667 回答