odoo res.partner 网站上的地址字段访问错误

odoo res.partner address fields access error on website

我试图在网站上显示地址字段,但出现访问错误。由于某些原因,我无法使用网站上的联系人小部件。

当我以 public 用户身份访问该页面时,它显示 500 内部服务器错误。但如果我是管理员,一切正常。

在我的 xml 模板中,我写了以下内容:

<span t-field="event.address_id.city" groups="base.group_public"/>,
<span t-field="event.address_id.country_id.name" groups="base.group_public"/>

在 ir.model.access.csv 文件中我写了以下内容:

access_res_partner,res.partner,base.model_res_partner,base.group_public,1,0,0,0

也试过

access_res_partner,res.partner,base.model_res_partner,,1,0,0,0

但是显示如下错误:

AccessError: (u'The requested operation cannot be completed due to security restrictions. Please contact your system administrator.\n\n(Document type: res.partner, Operation: read)', None)

Error to render compiling AST AccessError: (u'The requested operation cannot be completed due to security restrictions. Please contact your system administrator.\n\n(Document type: res.partner, Operation: read)', None) Template: website_event.index Path: /templates/t/t/div/div[2]/div[2]/div[1]/ul/li/div/div/div[3]/div/div[3]/span[1] Node: ,

我也在 xml 中没有分组的情况下尝试过这个,但结果是一样的:

<span t-field="event.address_id.city"/>,
<span t-field="event.address_id.country_id.name"/>

我该如何解决这个问题。

试试这个代码。

<span t-field="event.address_id.sudo().city"/>,
<span t-field="event.address_id.sudo().country_id.name"/>

请确保您理解 security section in the odoo documentation。在我看来,给 base.group_public 组一般读取您的客户数据的权限并不是一个好主意。