Установка ReferenceProperty в None. Возникнет ли исключение?

У меня есть модель со свойством типа ReferenceProperty, я хочу иметь возможность фильтрации по объектам, которые не имеют этого свойства. Вы не можете фильтровать по или, но вы можете по None, как это:

Entity.all().filter('property =', None)

Можно ли установить ReferenceProperties на None? Или это вызовет исключение, потому что None не считается того же типа, что и объект, на который есть ссылка в определении свойства?

Не удалось найти ответ в документации здесь: http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html

1 ответ

Решение

Да, ты можешь.

>>> e = Entity()
>>> e.ref = None
>>> e.put()
>>> # wait few secs for datastore to complete write op
>>> e.key() in [e.key() for e in Entity.all().filter('ref =', None)]
True
Другие вопросы по тегам