如何从脚本添加plone组成员

dom*_*ruf 3 plone

我试图从我运行的脚本中添加一个plone用户"./bin/instance run myscript.py"

ipdb>app.Plone.portal_groups.addPrincipalToGroup('newuser', 'Administrators')
True
Run Code Online (Sandbox Code Playgroud)

但是当我检查Web界面时,用户没有添加到组中.

虽然

ipdb>app.Plone.portal_groups.getGroupMembers('Administrators')
['newuser']
Run Code Online (Sandbox Code Playgroud)

否则说.

当我在普通的plone实例中运行相同的代码时(通过使用http:// localhost:8080/Plone/ipdb打开控制台),它可以工作.

我是否必须对ZODB或类似的更改?

小智 5

您需要在完成所有更改后提交您的事务

import transaction
# do some things
transaction.commit()
Run Code Online (Sandbox Code Playgroud)