Запрашивает объекты с отсутствующими свойствами в движке приложения Datastore? - PullRequest
7 голосов
/ 26 июля 2010

У меня есть модель, которая выглядит так:

class Example (db.Model) :
 row_num = db.IntegerProperty(required=True)
 updated = db.IntegerProperty()
 ...
 ...

Теперь, когда я сохраняю значения, я не могу заполнять значение для обновленного свойства каждый раз, что подразумевает, что в некоторых объектах оно может не существовать.

Я хочу построить запрос к хранилищу данных, чтобы я мог получить все сущности вида Example, для которых не установлено обновленное свойство.

Как мне это сделать?

p.s. Я знаю, что могу установить значение по умолчанию, а затем запросить его. Но проблема в том, что у меня более 3 миллионов объектов, и обновленные будут помечены только для 1% из них, поэтому я не хочу тратить так много места в хранилище данных, установив для остальных значение 0.

1 Ответ

7 голосов
/ 26 июля 2010

В GQL объекты, у которых нет значения для свойства, не могут быть возвращены запросами к этому свойству, поэтому то, что вы запрашиваете, невозможно без значения по умолчанию.

Ссылка: раздел, озаглавленный «Объекты без отфильтрованного свойства никогда не возвращаются по запросу» на этой странице .

...