我正在尝试从 db Expando 子类访问 ndb PolyModel 子类的引用属性。我的两个类如下所示:
class Foo(polymodel.PolyModel):
...
class Bar(db.Expando):
...
foo_reference = db.ReferecnceProperty(None, collection_name='foos')
...
这两个定义在不同的文件中。我通过以下方式分配参考:
...
foo = Foo.query.get()
bar.foo_reference = ndb.Key.to_old_key(foo.key)
...
我这样做没有问题。我可以在应用程序引擎仪表板中看到存储在数据库中的条目,但是当我尝试访问 foo_reference 时,我得到一个“No implementation for kind Foo”异常。问题行如下所示: foo = bar.foo_reference.get()
我已经检查了我所有的导入,并且实际上可以创建一个 Foo 实体,我尝试在其中访问该实体。引用 ndb 的 db 引用属性是否有一些限制?我该如何解决这个问题?