使用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