将ReferenceProperty设置为None。它会引发异常吗?

时间:2012-01-21 10:52:29

标签: python google-app-engine google-cloud-datastore

我有一个具有ReferenceProperty类型属性的模型,我希望能够通过没有此属性的实体进行过滤。你无法按照这样的方式进行过滤,但是你可以这样过滤:

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

是否可以将ReferenceProperties设置为None?或者是否会引发异常,因为None与属性定义中引用的对象的类型不同?

无法在此处的文档中找到答案:http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#ReferenceProperty

1 个答案:

答案 0 :(得分:3)

是的,你可以。

>>> 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