使用NDB Expando模型获取动态属性列表?

时间:2013-04-09 00:34:18

标签: python google-app-engine app-engine-ndb

使用db它似乎是myexpando.dynamic_properties(),但是尝试在ndb中执行此操作我得到了dynamic_properties的AttributeError。

在文档中找不到有关更改此内容的任何内容。

1 个答案:

答案 0 :(得分:4)

当您使用ndb时,您应该使用_properties来获取属性列表

    The db, ndb, users, urlfetch, and memcache modules are imported.
dev~cash-drawer> class X(ndb.Expando):
...    pass
... 
dev~cash-drawer> 
dev~cash-drawer> 
dev~cash-drawer> y = X()
dev~cash-drawer> y.a = ndb.GenericProperty()
dev~cash-drawer> y.a = 100
dev~cash-drawer> y.a
100
dev~cash-drawer> repr(y.a)
'100'
dev~cash-drawer> type(y.a)
<type 'int'>
dev~cash-drawer> y._properties
{'a': GenericProperty('a')}
dev~cash-drawer> 

请参阅文档https://developers.google.com/appengine/docs/python/ndb/entities#expando