我是使用python和app引擎的新手。我试图实现这样的一些ndb模型:
class A(ndb.Model):
some_property = ndb.KeyProperty(B , required=True)
class B(ndb.Model):
some_other_property = ndb.KeyProperty(A , required=True)
当然你不会在制作中做这样的事情,因为这是一个非常糟糕的设计,但它确实说明了问题。
此代码失败,因为在定义some_property
时,尚未定义B。
问题是,无论声明的顺序如何,我如何才能拥有相互引用的类?
答案 0 :(得分:1)
将其中一个类名转换为字符串:
class A(ndb.Model):
some_property = ndb.KeyProperty('B' , required=True)
class B(ndb.Model):
some_other_property = ndb.KeyProperty(A , required=True)