在Plone文件夹中自动创建新对象,仅为ID序列号

在Plone文件夹中自动创建新对象,仅为ID序列号,plone,Plone,我的结构如下: /Plone/folder/year/month/day/id 我想使用invokeFactory在工具中按顺序创建最后一个id。我想要: /Plone/folder/2011/06/21/1 /Plone/folder/2011/06/21/2 /Plone/folder/2011/06/21/3 /Plone/folder/2011/06/21/4 而不是: /Plone/folder/2011/06/21/id-1 /Plone/folder/2011/06/21/id

我的结构如下:

/Plone/folder/year/month/day/id
我想使用invokeFactory在工具中按顺序创建最后一个
id
。我想要:

/Plone/folder/2011/06/21/1
/Plone/folder/2011/06/21/2
/Plone/folder/2011/06/21/3
/Plone/folder/2011/06/21/4
而不是:

/Plone/folder/2011/06/21/id-1
/Plone/folder/2011/06/21/id-2
/Plone/folder/2011/06/21/id-3
/Plone/folder/2011/06/21/id-4
…当我尝试在文件夹中创建同名对象时,这会自动完成,Plone会为我添加一个序列号。我想要一种高效的方法来创建对象,但只使用序列号,而不是带有序列号的名称。我可以得到文件夹中os项目的总数,但我想知道是否有更好的方法


真实示例:

如果手动创建这些对象,可以执行以下操作:

brains = context.getFolderContents({'sort_on' : 'id', 'sort_order' : "reverse"})
if len(brains) > 0:
  id = str(int(brains[0].id) + 1)
else:
  id = '1'
然后,您必须使用该id手动创建对象


如果您希望在用户创建内容时自动执行此操作,您可能需要研究创建内容规则以更改内容的id。一个可能有帮助的例子是

删除对象时,此解决方案可能会出现问题,因为您将两次获得相同的id。我使用类似的方法: