NDB извлекает экземпляр модели из ключа с помощью проекции?

У меня есть относительно большой класс модели, к которому я могу получить доступ по идентификатору ключа, например:

class Foo(ndb.Model):
    propA = ndb.IntegerProperty(required=True)
    probB = ndb.StringProperty()
    probC = ndb.JsonProperty()

key = ndb.Key('Foo', 1234)
model = key.get()

Если в настоящее время мне нужен только «propA» из этой модели, есть ли способ создать запрос типа project=[Foo.propA] без создания ненужного запроса?


person Nick D    schedule 17.12.2013    source источник


Ответы (1)


Запросы не обязательно дороже, чем прямое чтение. Как насчет:

model = Foo.Query('__key__'=key).fetch(1, projection=[Foo.propA])
person Isaac    schedule 17.12.2013