python - 修改 mrp_production.py 文件 odoo 后找不到字段
问题描述
已创建报价,并已编写说明。因为这个产品是要生产的。将创建一个工作订单。
工单没有描述行,如下图所示。
因此,我修改了以下文件(mrp_production_views.xml)以添加字段
111 号线<field name="description" string="Description"/>
在mrp_production.py
description = fields.one2many('sale.order.line', 'name', related='sale.order_id', readonly=True)
然后我得到这个错误。我确定问题出在上面的 python 语句中。
2019-01-03 07:49:16,463 13284 信息测试 werkzeug:127.0.0.1 - - [03/Jan/2019 07:49:16]“POST /longpolling/poll HTTP/1.1”500 - 2019-01-03 07 :49:16,467 13284 ERROR test werkzeug: Error on request: Traceback (last recent call last): File "C:\Program Files\Python37\lib\site-packages\werkzeug\serving.py", line 270, in run_wsgi execute (self.server.app) 文件“C:\Program Files\Python37\lib\site-packages\werkzeug\serving.py”,第 258 行,在执行 application_iter = app(environ, start_response) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\service\server.py”,第 260 行,在应用程序中返回 self.app(e, s) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\ service\wsgi_server.py",第 166 行,在应用程序返回 application_unproxied(environ,start_response) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py”,第 154 行,在 application_unproxied 结果 = handler(environ, start_response) 文件“C:\Program Files (x86) \Odoo 11.0\server\odoo\http.py",第 1319 行,在调用 return self.dispatch(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1474, in dispatch odoo.registry(db).check_signaling() File " C:\Program Files (x86)\Odoo 11.0\server\odoo__init__.py",第 76 行,在注册表中返回 modules.registry.Registry(database_name) File "C:\Program Files (x86)\Odoo 11.0\server\odoo \modules\registry.py",第 61 行,在 新 在新的 odoo.modules.load_modules(registry._db, force_demo, status , update_module) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py”,第 376 行,在 load_modules force、status、report、loaded_modules、update_module、models_to_check) 文件“C:\ Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py",第 274 行,在 load_marked_modules perform_checks=perform_checks,models_to_check=models_to_check 文件 "C:\Program Files (x86)\Odoo 11.0\server\odoo\ modules\loading.py”,第 152 行,在 load_module_graph registry.setup_models(cr) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py”,第 277 行,在 setup_models model._setup_fields() 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py”,第 2425 行,在 _setup_fields field.setup_full(self) 文件“C:\Program Files (x86 )\Odoo 11.0\server\odoo\fields.py",第 471 行,在 setup_full self._setup_related_full(model) 文件“C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py”,第 508 行,在 _setup_related_full 字段 = target._fields[name] KeyError: 'manufacturing_lead'第 508 行,在 _setup_related_full field = target._fields[name] KeyError: 'manufacturing_lead'第 508 行,在 _setup_related_full field = target._fields[name] KeyError: 'manufacturing_lead'
解决方案
在 sale_order_line 中创建一个 many2one 字段,如下所示
mrp_id = fields.Many2one('mrp.production',string="MRP")
在 mrp_production 中创建描述字段,如下所示:
description = fields.one2many('sale.order.line', 'mrp_id', related='sale.order_line', readonly=True)
请确保 mrp_production 中应有销售字段(Many2one),以便您可以调用 sale.order_line
推荐阅读
- java - 从 repo url 中删除 Gradle 依赖 groupId
- java - 运行旧项目时出现“无法启动守护进程”
- python - 针对列表中的元素创建多个字典
- javascript - Javascript 字符串不会转换为新的日期对象 - “无效日期”错误
- java - 在 Eclipse 中使用本地记录的规范构造函数(预览功能)导致验证错误
- sql-server - 如何将 UTC 指定为 Pandas.read_sql
- java - JPA 在查询中包含来自其他表的附加列
- node.js - node js - MSSQL 节点模块自动将 Date 转换为 DateTime
- java - 春季编解码器的限制
- swiftui - TabBar 更改选定的选项卡图标背景颜色 swiftui