Python 将特定页面的编辑权限分配给特定用户
我正在Wagtail 1.8中寻找一种方法,在特定页面创建后,为特定用户提供特定页面的编辑和预览权限,这样我可以为他们创建文档的第一个版本,然后他们可以添加内容、调整和预览,直到他们满意为止。一种方法是将页面的所有权分配给他们,但该字段是只读的。错误是Python 将特定页面的编辑权限分配给特定用户,python,django,wagtail,Python,Django,Wagtail,我正在Wagtail 1.8中寻找一种方法,在特定页面创建后,为特定用户提供特定页面的编辑和预览权限,这样我可以为他们创建文档的第一个版本,然后他们可以添加内容、调整和预览,直到他们满意为止。一种方法是将页面的所有权分配给他们,但该字段是只读的。错误是 django.core.exceptions.FieldError: 'owner' cannot be specified for ArticlePage model form as it is a non-editable field
django.core.exceptions.FieldError: 'owner' cannot be specified
for ArticlePage model form as it is a non-editable field
我可以通过将所有文档分配给具有正确权限的适当组(例如,预定义的
编辑器角色)来授予用户对所有文档的编辑和预览权限,但如果可以,我宁愿避免这样做。这可以通过使用stock wagtail权限()来实现:
只需将用户分配到他自己的组(因此您需要创建一个新组),然后为您提到的页面授予该组的编辑权限。权限将沿树向下传播,但由于该页上没有子项,因此这无关紧要。或者,通过将子页面类型=[]
设置为自定义页面模型,您可以明确地不允许对页面进行编辑以生成子页面。但这似乎不是很枯燥。例如,当使用配置文件用户模型时(每个摇摆用户都有一对一的关系(通过OneToOneField
)如果有一个专用的档案页
,并且每个用户只能编辑他/她的档案页
,我必须为所有用户创建一个专用组。这似乎只适用于有限数量的用户……但我不知道还有其他解决方案。