我的資源類模型如下:Where子句中谷歌App Engine數據存儲
class Resource(ndb.Model):
name = ndb.StringProperty()
availability = ndb.StructuredProperty(Availability, repeated=True)
tags = ndb.StringProperty(repeated=True)
owner = ndb.StringProperty()
id = ndb.StringProperty(indexed=True, required=True)
lastReservedTime = ndb.DateTimeProperty(auto_now_add=False)
startString = ndb.StringProperty()
endString = ndb.StringProperty()
我想提取的記錄這裏的主人是等於某個字符串。 我試過了下面的查詢。它不會給出錯誤,但不會返回任何結果。
Resource.query(Resource.owner== '[email protected]').fetch()
按我的理解,如果一個列有重複值不應該被索引,這就是爲什麼老闆不被索引。如果我錯了,請糾正我。
有人可以幫我弄清楚如何實現where子句的一種功能?
任何幫助表示讚賞!謝謝!
你確定你有'Resource'實體的所有者屬性等於''abc @ xyz.com'嗎?據我所知,這看起來對我來說是正確的。 – mgilson
@mgilson:嘿!是的,我確信有記錄應該與價值相匹配。實際上,我的數據存儲區中的唯一記錄是擁有此所有者的記錄,當我從DS中提取所有記錄(如select *語句)時,我能夠正確檢索所有記錄。 – ss7389
嘗試'Resource.gql(「WHERE owner =:1」,'[email protected]')。fetch()' –