我有一個具有結構化屬性的主屬性。我在結構化屬性中定義了一個屬性,它需要訪問父屬性的值。我試過的語法是self.key.parent().email
,但這並沒有辦法。我怎樣才能做到這一點?訪問父級的結構化屬性
class Individual(ndb.Expando):
name = ndb.StringProperty()
email = ndb.StringProperty()
team_list = ndb.StructuredProperty(IndividualTeam, repeated=True)
class IndividualTeam(ndb.Model):
team_key = ndb.KeyProperty()
fundraise_amt = DecimalProperty()
@property
def donation_total(self):
#This is my problem here
return self.key.parent().email
爲了簡潔起見,我排除了計算捐贈總額的代碼。簡而言之,它使用電子郵件地址查詢捐款並添加它們。正如你在模型定義中看到的那樣,這些結構化屬性有一個列表,所以它不僅僅是一個。所以,我確實需要訪問父項屬性,但在我的測試中,它似乎不允許訪問。當我將問題代碼更改爲'return self.email'時,我得到:'AttributeError:'IndividualTeam'對象沒有屬性'email''根據你所說的,它應該允許我訪問,但它不會。 – rhefner1 2012-04-09 03:20:20