首页 > 解决方案 > 修改 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'

标签: pythonodoo

解决方案


在 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


推荐阅读