2013-02-19 59 views
1

在Python它的無類型查詢App Engine中去

q = db.Query() 
q.ancestor(ancestor_key) 

我想:

q := datastore.NewQuery("") 
q.Ancestor(ancestor_key) 

我得到的錯誤 「空那種數據存儲」:

q := &datastore.Query{} 
q.Ancestor(ancestor_key) 

我得到了e RROR「數據存儲:空查詢一種」

預先感謝這件事的任何幫助。

+1

我不認爲Go支持Python的無親祖先查詢。有一刻有我想你可以使用祖先鍵的種類()方法,那麼我有一些更多的咖啡,來到我的感官。 – 2013-02-19 17:02:59

回答

1

豐富Churcher的評論似乎是正確的,至少在這個時間點。

我不認爲Go支持Python的無親祖先查詢。 有一刻有我想你可以使用祖先鍵的種類() 方法,那麼我有一些更多的咖啡,來到我的感官。

2

func NewQuery

FUNC NewQuery(一種字符串)*查詢

NewQuery創建一個特定的實體類型的新查詢。那種必須是 非空。

在你的代碼,

q := datastore.NewQuery("") 

種是空的。

+0

這將失敗它作爲「無情」查詢的目的。我明白你的意思;我只是試圖表明,我實際上是在發佈之前發佈的。我認爲這是它在SO上完成的方式。 – 2013-02-19 22:59:16

0

GETALL似乎並沒有工作,但你可以做無類型查詢。

ctx := appengine.NewContext(r) 
q := datastore.NewQuery("") 
for it := q.Run(ctx); ; { 
    key, err := t.Next(nil) 
    if err == datastore.Done { 
    break 
    } 
    if err != nil { 
    break 
    } 
    fmt.Printf("%v\n", key) 
}