如果它们位于不同的模型中,我可以使用两个具有相同名称的结构化属性吗?

时间:2016-01-27 15:04:02

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

根据Google NDB文档,Model()类型被视为全局命名空间,因此我不应该有两个具有相同名称的ndb模型,即使在不同的文件中也是如此。尽管如此,结构化属性并不是完整的实体,它们没有密钥,如果我在控制台中搜索它们,它们就不存在,而是其他实体的属性。考虑到这一点,我可以使用以下代码吗?

这在file_A.py中:

class Specifications(ndb.Model):
    #A list of Specifications

class Car(ndb.Model):
    specs = ndb.StructuredProperty(Specifications)

这在file_B.py中:

class Specifications(ndb.Model):
    #Another list of Specifications

class Bike(ndb.Model):
    specs = ndb.StructuredProperty(Specifications)

1 个答案:

答案 0 :(得分:0)

你可以完美地做到这一点,但请注意,最好定义一次规格模型,以免弄乱事物。但是......您还可以在每个文件上定义两种不同的规格模型。