使用GQL,可以对某个列表foo
中的某个值具有某个属性的实体运行查询。“db.ListProperty CONTAINS foo”的GQL查询?
foo = ['a']
bar = MyModel.gql('WHERE bar IN :1', foo).get().bar
bar == 'a'
#False
bar in 'a'
#True
我想要做的就是这样的逆:请问db.ListProperty
,barfoo
,包含值foobar
?
喜欢的东西:
foobar = 'a'
barfoo = MyModel.gql('WHERE barfoo CONTAINS :1', foobar).get().barfoo
barfoo == 'a'
#False
'a' in barfoo
#True
这可能吗?如果不是,我怎样才能合理有效地复制这种行为?
作为一个扩展,如果我能看到列表foo
中的任何一个是否在列表属性bar
中,它会更好。例如如果bar == ['a', 'b', 'c']
然后我可以查询它对['a', 'y', 'z']
,并返回它,因为它确实匹配'a'
。
您的查询是“是”列表中的值之一“或”做任何列表中的值包含'a'“? – 2014-10-03 15:59:10
@DanielRoseman“是列表项目之一''a''” – OJFord 2014-10-03 16:00:46
它似乎是通过'.filter('listproperty','singleitem')'实现的,但它不是*可能做到这一点“对于列表中的任何内容“,我只通过在for循环中包装来管理它。如果仍然有这个gql查询字符串,仍然感兴趣。 – OJFord 2014-10-03 16:03:42