我有一个dexterity.AddForm,我想获得一个列表小部件来接受一个值类型的对象。
我有一个对象值类型的接口:
class IMyObject(Interface):
field_a = schema.TextLine(
title = u"Field A",
)
field_b = schema.TextLine(
title = u"Field B",
)
然后对于灵巧内容类型,我有这个:
class IMyContentType(Interface):
combines = schema.List(title=_(u'List of object value type test'),
value_type=schema.Object(schema=IMyObject),
required=False,
)
class MyContentType(Container):
grok.implements(IMyContentType)
我的dexterity.AddForm:
class Add(dexterity.AddForm):
grok.context(IMyContentType)
grok.name('my.package.mycontenttype')
不幸的是,当我去尝试提交时,我在窗口小部件中显示错误: 系统无法处理给定值。
对于接口类IMyContentType,我尝试使用model.Schema和form.Schema来查看是否会产生影响,但事实并非如此。我想我可能走错了路。尝试实现具有值类型对象的列表的更好方法是什么?