0

根據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) 
+0

我只是通過使用'CarSpecs'和'BikeSpecs'來代替事物來清除/簡單化:) –

回答

0

您可以完全做到這一點,但請注意,最好是有定義的一次不亂的規格型號周圍的事情。但是...您也可以在每個文件上定義兩種不同的規格模型。

+0

它們會有不同的屬性,所以它必須是兩個不同的模型。因此,我不能在兩個不同的文件中放置兩個車型,但我可以有兩個規格型號,因爲它是一個結構化屬性,對吧? –

+0

是的,你可以。如果每個「規格」模型都具有不同的屬性,則可以這樣做,以便每個屬性都在不同文件中具有自己的屬性。但請注意,如果您想要從另一個文件導入兩個「規格」,則必須將它們別名。 – janscas

+0

謝謝,我會牢記這一點。 –

相關問題