6

我有一个表单架构,它继承自另一个表单架构。两者都有字段集。但是,这些字段集是按照它们创建的顺序放置的。所以最后一个模式中描述的字段集将是最后一个。我希望它是第一个。有没有办法做到这一点 ?

例子:

from plone.supermodel import model
from zope import schema

class FormSchema(model.Schema):
     model.fieldset(
          'test',
          label='Test',
          fields=['field1']
     )
     field1 = schema.Text(title=u'test')


class FormSchema2(FormSchema):
     # Is last but I would like to place it first
     model.fieldset(
          'test2',
          label='Test2',
          fields=['field2']
     )
     field2 = schema.Text(title=u'test2')
4

1 回答 1

2

你不能,我害怕。模式字段集总是以反向接口解析顺序合并;派生接口之前的基础。在架构上再次声明字段集FormSchema2只会导致字段集被列出两次。

如果您必须控制字段集顺序,请不要从基本模式派生,而是重新声明它。

于 2013-09-25T09:32:11.110 回答