修改 mrp_production.py 文件后找不到字段 odoo
Field not found after modifying mrp_production.py file 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 INFO test 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 (most recent call last): File "C:\Program
Files\Python37\lib\site-packages\werkzeug\serving.py", line 270, in
run_wsgi
execute(self.server.app) File "C:\Program Files\Python37\lib\site-packages\werkzeug\serving.py", line 258, in
execute
application_iter = app(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\server.py", line 260, in app
return self.app(e, s) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py", line 166, in application
return application_unproxied(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py",
line 154, in application_unproxied
result = handler(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1319, in call
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", line 76, in registry
return modules.registry.Registry(database_name) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 61, in
new
return cls.new(db_name) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "C:\Program Files (x86)\Odoo
11.0\server\odoo\modules\loading.py", line 376, in load_modules
force, status, report, loaded_modules, update_module, models_to_check) File "C:\Program Files (x86)\Odoo
11.0\server\odoo\modules\loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check File "C:\Program Files (x86)\Odoo
11.0\server\odoo\modules\loading.py", line 152, in load_module_graph
registry.setup_models(cr) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 277, in setup_models
model._setup_fields() File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 2425, in _setup_fields
field.setup_full(self) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 471, in setup_full
self._setup_related_full(model) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 508, in
_setup_related_full
field = target._fields[name] KeyError: 'manufacturing_lead'
试试这个:
描述=fields.one2many(相关='sale.order_id',只读=真)
在 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)
请确保销售字段 (Many2one) 应该在 mrp_production 内,以便您可以调用 sale.order_line
已创建报价,并已编写说明。由于此产品是要制造的。将创建工单。
工单没有描述行,如下图所示。
因此,我修改以下文件 (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 INFO test 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 (most recent call last): File "C:\Program Files\Python37\lib\site-packages\werkzeug\serving.py", line 270, in run_wsgi execute(self.server.app) File "C:\Program Files\Python37\lib\site-packages\werkzeug\serving.py", line 258, in execute application_iter = app(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\server.py", line 260, in app return self.app(e, s) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py", line 166, in application return application_unproxied(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py", line 154, in application_unproxied result = handler(environ, start_response) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1319, in call 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", line 76, in registry return modules.registry.Registry(database_name) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 61, in new return cls.new(db_name) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 85, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 376, in load_modules force, status, report, loaded_modules, update_module, models_to_check) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 274, in load_marked_modules perform_checks=perform_checks, models_to_check=models_to_check File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 152, in load_module_graph registry.setup_models(cr) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 277, in setup_models model._setup_fields() File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 2425, in _setup_fields field.setup_full(self) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 471, in setup_full self._setup_related_full(model) File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 508, in _setup_related_full field = target._fields[name] KeyError: 'manufacturing_lead'
试试这个:
描述=fields.one2many(相关='sale.order_id',只读=真)
在 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)
请确保销售字段 (Many2one) 应该在 mrp_production 内,以便您可以调用 sale.order_line