修改mrp_production.py文件odoo后找不到字段

时间:2019-01-03 07:54:57

标签: python odoo

创建报价,并编写说明。由于要制造这种产品。将创建一个工作订单。

enter image description here

工作订单没有说明行,如下图所示。

enter image description here

因此,我修改以下文件( 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测试werkzeug:127.0.0.1--   [03 /一月/ 2019 07:49:16]“ POST / longpolling / poll HTTP / 1.1” 500-   2019-01-03 07:49:16,467 13284错误测试werkzeug:根据要求提供错误:   追溯(最近一次通话):文件“ C:\ Program   文件\ Python37 \ lib \ site-packages \ werkzeug \ serving.py”,第270行,在   run_wsgi       execute(self.server.app)文件“ C:\ Program Files \ Python37 \ lib \ site-packages \ werkzeug \ serving.py”,第258行,在   执行       application_iter = app(环境,start_response)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ service \ server.py”,在app中的第260行       在应用程序中返回self.app(e,s)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ service \ wsgi_server.py”       返回application_unproxied(环境,start_response)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ service \ wsgi_server.py”,   第154行,在application_unproxied中       结果=处理程序(环境,start_response)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ http.py”,行1319,在调用中       在派遣中返回self.dispatch(environ,start_response)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ http.py”,行1474       odoo.registry(db).check_signaling()文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo__init __。py”,第76行,在注册表中       返回modules.registry.Registry(database_name)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ modules \ registry.py”,第61行,在          返回cls.new(db_name)文件“ C:\ Program Files(x86)\ Odoo 11.0 \ server \ odoo \ modules \ registry.py”,在新的第85行       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中       强制,状态,报告,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 [名称] KeyError:'manufacturing_lead'

2 个答案:

答案 0 :(得分:0)

尝试这个:

description = fields.one2many(related ='sale.order_id',readonly = True)

答案 1 :(得分:0)

如下所示在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