今天写权限
在csv文件中分别写了三个组,分为初级、中级和高级三个级别的权限
初级implied_ids是base.group_user,中级implied_ids是初级id,高级implied_ids是中级id。
并为三个权限组的访问权限在CVS中设计为1000,1111和1111。
实际在模块安装后,只有高级的权限组生效了,经过学习和排查发现,csv文件中的id重复了,三个访问权限用了同一个id,然后就出现了只能最高级权限才能访问模型的情况
而后经过实验发现,顺序调整后,将未改动的三个访问权限顺序为初级、高级、中级后,odoo呈现出了两个效果
1.当以初级权限访问模块时,该模型菜单隐藏,若从中级访问后,权限变为初级并页面刷新则出现访问错误弹窗,odoo识别仅中级,即csv文件中最后一个访问权限生效
2.虽然高级本应不能访问模型,但却仍能访问
应该是由于implied_ids关键字将权限继承的原因,虽然访问权限在csv中没有获得,却在xml文件那边继承了访问权限
技术总结:
1.当检查过语法问题后效果仍出现问题,应当先检查访问权限id是否唯一
2.csv文件的数据结构猜测可能为栈结构
3.csv中未获取访问权限的权限组仍具有模型访问权限的,大概率为implied_ids继承导致