具有多选择字段的PloneFormGen

具有多选择字段的PloneFormGen,plone,ploneformgen,Plone,Ploneformgen,我正在用Plone/PloneFormGen创建表单。这个表单有我从MySQL数据库填充的多选字段,作为键、值 1, Option 1 2, Option 2 3, Option 3 etc... 它以键数组['2','4'的形式存储在MySQL表中 现在我想创建一个编辑表单来编辑旧数据。 如何将旧的选定选项(存储在数据库中)选为编辑表单中的默认选项?我一直尝试使用不同的选项进行覆盖,但似乎没有任何效果。我有一个pythos脚本来提取数据,但是 版本 普隆3.3.5 PloneFormGen

我正在用Plone/PloneFormGen创建表单。这个表单有我从MySQL数据库填充的多选字段,作为键、值

1, Option 1
2, Option 2
3, Option 3
etc...
它以键数组['2','4'的形式存储在MySQL表中

现在我想创建一个编辑表单来编辑旧数据。 如何将旧的选定选项(存储在数据库中)选为编辑表单中的默认选项?我一直尝试使用不同的选项进行覆盖,但似乎没有任何效果。我有一个pythos脚本来提取数据,但是

版本 普隆3.3.5
PloneFormGen 1.6.3

很可能返回的数据实际上不是列表形式。它可能只是一个格式化的字符串。因此,需要使用脚本将字符串转换为值列表


如果可能的值是简单字符,这可能非常简单:删除括号、空格和引号,然后用逗号拆分。

很可能返回的数据实际上不是列表形式。它可能只是一个格式化的字符串。因此,需要使用脚本将字符串转换为值列表


如果可能的值是简单字符,这可能非常简单:删除括号、空格和引号,然后用逗号拆分。

问题不仅仅在于格式。字符串也必须转换为整数

我用下面的代码解决了它

这是python脚本的一部分,我从SQL中提取数据以在PloneFormGen中填充表单

form['col_name'] = tuple(int(v) for v in re.findall("[0-9]+", row['col_name']))

这将把逗号分隔的字符串转换为包含整数的元组…

问题不仅仅在于格式。字符串也必须转换为整数

我用下面的代码解决了它

这是python脚本的一部分,我从SQL中提取数据以在PloneFormGen中填充表单

form['col_name'] = tuple(int(v) for v in re.findall("[0-9]+", row['col_name']))

这将把逗号分隔的字符串转换为包含整数的元组…

如果您告诉我们您尝试了什么,我们就更有可能回答您的问题。如果您告诉我们您尝试了什么,我们就更有可能回答您的问题。