2013-02-19 2 views
1

В Python этоKindless запросов в App Engine Go

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

Я пробовал:

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

Я получаю ошибку "хранилищу: пустой вид" при запуске GETALL

Я также попытался:

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

Я получаю e rror "datastore: empty query kind"

Заранее благодарим за любую помощь в этом вопросе.

+1

Я не думаю, что запрос доброго предка Python поддерживается в Go. На мгновение я подумал, что вы могли бы использовать метод Kind() для ключа предка, после чего у меня было еще кофе и опомнился. –

ответ

1

Комментарий Rich Churcher кажется правильным, по крайней мере, на данный момент времени.

Я не думаю, что запрос Доброго предка Python поддерживается в Go. На мгновение я подумал, что вы можете использовать метод Kind() предка, после чего у меня появилось еще кофе и опомнилось.

2

func NewQuery

функ NewQuery (тип строки) * Запрос

NewQuery создает новый запрос для определенного типа объекта. Вид должен быть непустым.

В коде

q := datastore.NewQuery("") 

вид пуст.

+0

Это было бы победой в том, что это был «бессердечный» запрос. Я понимаю, что вы имеете в виду; Я просто пытался показать, что я на самом деле _tried_ перед публикацией здесь. Я думал, что так оно и было. –

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) 
} 
Смежные вопросы