繁体   English   中英

NDB多对多KeyProperty类引用不起作用

[英]NDB many-to-many KeyProperty kind reference not working

我正在尝试使用App Engine中的KeyProperties将各种实体彼此链接:

class ModelA(ndb.Model):
    mod_bs = ndb.KeyProperty(kind=ModelB, repeated=true)
    mod_cs = ndb.KeyProperty(kind=ModelC, repeated=true)
    # other properties

class ModelB(ndb.Model):
    mod_as = ndb.StringProperty(kind=ModelA, repeated=true)
    mod_cs = ndb.StringProperty(kind=ModelC, repeated=true)
    # other properties

class ModelC(ndb.Model):
    mod_cs = ndb.KeyProperty(kind=ModelA, repeated=true)
    mod_as = ndb.KeyProperty(kind=ModelB, repeated=true)
    # other properties

但是我收到一个错误消息,说在此结构中未定义“ ModelB”。 显然,下面引用的任何地方都无法识别。 因此,如果我摆脱了ModelA和ModelB中的种类分配,那么ModelC中的种类分配就很好了,一切都可以运行了。 不过,我需要循环引用它们,并且看起来应该可以。

难道我做错了什么?

在这种情况下,可以将类型作为字符串传递:

class ModelA(ndb.Model):
    mod_bs = ndb.KeyProperty(kind='ModelB', repeated=true)
    mod_cs = ndb.KeyProperty(kind='ModelC', repeated=true)
    # other properties

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM