我的敏捷内容类型中有datagridfield,使用collective.z3cform。我有一个接口类,它将 value_type 定义为我的内容类型中主要数据网格字段的 DictRow。
class IAssessment(interface):
assessment_item=schema.Choice(
title=u"Assessment Item",
values=[u"Item 1",u"Item 2"],
required=False
)
reference=schema.TextLine(title=u"Reference",required=False)
class Application(form.Schema,IImageScaleTraversable):
form.widget(app_assessment=DataGridFieldFactory)
app_assessment=schema.List(
title=u"Application Assessment",
value_type=DictRow(title=u"Application Assessment",schema=IAssessment)
)
是否可以使用来自其他内容类型的 portal_catalog 基于目录查询在assessment_item 字段下为 IAssessment 提供值。当我插入 catalog=getToolByName(context, 'portal_catalog') 时出现错误,因为未定义上下文,即使我在 IAssessment 中放置了参数上下文,我仍然得到相同的错误。有没有办法可以在接口类中进行目录查询,如果没有,还有其他方法吗?