You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 15网页URL参数获取异常:更换ID仍返回旧值咨询

问题排查与解决思路

优先排查Nginx缓存问题

  • 检查Nginx配置里是否对/website_reference_form路径启用了proxy_cache这类缓存规则。如果Nginx缓存了首次请求的页面,后续带不同id的请求会直接返回缓存内容,根本不会转发给Odoo,自然拿不到新ID。
  • 验证方式:临时注释Nginx的缓存配置,重启服务后测试不同ID的请求。如果能正常获取新ID,就说明是Nginx缓存策略的问题,需要调整——要么对带id参数的请求禁用缓存,要么把id加入缓存键的组成部分,避免不同ID的请求共用缓存。

再排查Odoo自身的缓存设置

  • 控制器缓存:检查自定义控制器的路由配置,确保没有设置不合理的缓存参数。比如你的路由应该显式关闭缓存:
    @http.route('/website_reference_form', type='http', auth="public", website=True, cache=False)
    def reference_form(self, **kwargs):
        record_id = request.params.get('id')
        # 后续业务逻辑
    
    如果路由带了cache=True或者没指定(部分场景下Odoo会默认缓存),就会导致页面被缓存,无法获取新的id参数。
  • 视图缓存:如果是用Odoo自带的网站视图,进入开发者模式检查视图的缓存属性,确认没有开启不必要的视图缓存。
  • 浏览器缓存排除:用无痕窗口或者强制刷新(Ctrl+F5)测试,排除浏览器本地缓存的干扰——不过这种情况概率较低,因为URL参数变化后,正常浏览器不会复用旧缓存。

快速定位步骤

  1. 先用无痕模式+强制刷新,排除浏览器缓存的影响。
  2. 临时关闭Nginx缓存测试,恢复正常则是Nginx问题;若仍异常,再排查Odoo的控制器和视图缓存配置。

内容的提问来源于stack exchange,提问作者Reynaldo Ramirez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:39:53