如何使ndb模型声明顺序独立

时间:2015-02-10 20:57:39

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

我是使用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。

问题是,无论声明的顺序如何,我如何才能拥有相互引用的类?

1 个答案:

答案 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)