我有一个具有结构化属性的主属性。我在结构化属性中定义了一个属性,它需要访问父属性的值。我试过的语法是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