[Zope3-Users] vocabulary of object-references
Markus Leist
ml_zope3_dev at ikom-online.de
Mon Aug 22 11:36:27 EDT 2005
Hi all,
I have build an List of Choices and it works well:
in interface:
hostlist = List(
title=_(u"Host List"),
description=_(u"Host List"),
value_type = Choice(
title=_(u"Host"),
description=_(u"Host"),
required = True,
vocabulary = "IkGroupHosts"),
required=False)
vocabulary:
def HostsVocabulary(context):
dynHostList = []
for (oid, oobj) in iid.items():
if IIkHost.providedBy(oobj.object):
dynHostList.append( SimpleTerm( oobj.object.getIkTitle(), oobj.object.getIkTitle()))
return SimpleVocabulary( dynHostList)
object has string-result:
hostlist [u'titan', u'radon']
now i want to store references in (my new) lIst by vocabulary:
def HostsVocabulary(context):
dynHostList = []
iid = zapi.getUtility( IIntIds, 'iid')
for (oid, oobj) in iid.items():
if IIkHost.providedBy(oobj.object):
dynHostList.append( SimpleTerm( KeyReferenceToPersistent(oobj.object), oobj.object.getIkTitle()))
return SimpleVocabulary( dynHostList)
when commit the form:
[...]
File "/opt/ikom/Zope3/src/zope/schema/_bootstrapfields.py", line 133, in validate
if value == self.missing_value:
File "/opt/ikom/Zope3/src/zope/app/keyreference/persistent.py", line 56, in __cmp__
if self.key_type_id == other.key_type_id:
AttributeError: 'NoneType' object has no attribute 'key_type_id'
Any idea or other way of storing references in my Hostlist?
Markus
More information about the Zope3-users
mailing list