Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将特定页面的编辑权限分配给特定用户_Python_Django_Wagtail - Fatal编程技术网

Python 将特定页面的编辑权限分配给特定用户

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

我正在Wagtail 1.8中寻找一种方法,在特定页面创建后,为特定用户提供特定页面的编辑和预览权限,这样我可以为他们创建文档的第一个版本,然后他们可以添加内容、调整和预览,直到他们满意为止。一种方法是将页面的所有权分配给他们,但该字段是只读的。错误是

django.core.exceptions.FieldError: 'owner' cannot be specified 
  for ArticlePage model form as it is a non-editable field

我可以通过将所有文档分配给具有正确权限的适当组(例如,预定义的
编辑器
角色)来授予用户对所有文档的编辑和预览权限,但如果可以,我宁愿避免这样做。

这可以通过使用stock wagtail权限()来实现:


只需将用户分配到他自己的组(因此您需要创建一个新组),然后为您提到的页面授予该组的编辑权限。权限将沿树向下传播,但由于该页上没有子项,因此这无关紧要。或者,通过将
子页面类型=[]
设置为自定义页面模型,您可以明确地不允许对页面进行编辑以生成子页面。

但这似乎不是很枯燥。例如,当使用配置文件用户模型时(每个摇摆用户都有一对一的关系(通过
OneToOneField
)如果有一个专用的
档案页
,并且每个用户只能编辑他/她的
档案页
,我必须为所有用户创建一个专用组。这似乎只适用于有限数量的用户……但我不知道还有其他解决方案。