如何重新排序表格中的漏勺字段?

How to re-order colander fields in a form?

我使用表单继承创建了一个新表单,例如:

class MyForm(ParentForm):
    employment_date = colander.SchemaNode(
        colander.Date(),
        title=_(u'Employment Date')
    )

假设 ParentForm 字段的顺序是

我想在电子邮件字段之后插入新字段 employment_date,即

我想在不重新定义架构中的字段的情况下实现这一目标。

您需要在添加 schemaNode 对象时使用 insert_before 参数(您必须引用 'biography',因为没有 insert_after 参数可用于电子邮件):

class MyForm(ParentForm):
    employment_date = colander.SchemaNode(
        colander.Date(),
        title=_(u'Employment Date'),
        insert_before='biography',
    )

Colander schemaNode docs