On Sun, 13 May 2001, alan runyan wrote:
for award in context.assignedAwards: if award in context.marketingAwards.objectIds(): retObjs.append(context.marketingAwards.award) #get a award Attribute Error.. how do i do this? #appears in DTML you would use teh _.getitem(objId) hack, where is getitem?
Error beacuse retObjs.append(context.marketingAwards.award) is equivalent to retObjs.append(getattr(context.marketingAwards, "award")) and there is no "award" in Awards! So use <untested> retObjs.append(getattr(context.marketingAwards, award)) </untested>
Question 1: how can i please do this efficiently?
I suppose: awards = context.marketingAwards.objectIds() for award in context.assignedAwards: if award in awards: retObjs.append(getattr(context.marketingAwards, award))
Question 2: why doesnt ObjectManager have a getObject(self, objectId) method on it? or am i overlooking something?
I think you can just use getattr or context.marketingAwards[award]. Oleg. ---- Oleg Broytmann http://www.zope.org/Members/phd/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.