下午好,我的 Odoo 8 模块出现错误,错误如下:MissingError
您尝试访问的文档之一已被删除,请刷新后重试。
详细完整错误:
File "C:\Tunas_Ridean\Odoo-8.0\addons\sale\sale.py", line 1067, in product_id_change
if product_obj.taxes_id:
File "C:\Tunas_Ridean\Odoo-8.0\openerp\fields.py", line 840, in __get__
return record._cache[self]
File "C:\Tunas_Ridean\Odoo-8.0\openerp\models.py", line 6041, in __getitem__
return value.get() if isinstance(value, SpecialValue) else value
File "C:\Tunas_Ridean\Odoo-8.0\openerp\fields.py", line 56, in get
raise self.exception
MissingError: ('MissingError', u'One of the documents you are trying to access has been deleted, please try again after refreshing.')
我的代码模块:
文件脚本模型 sale_order.py:
# models/sale_order.py
from openerp import models, fields
from openerp import api
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
product_id = fields.Many2one(
'product.custom', string='Product', required=True,
domain=[('state', 'in', ['confirmed', 'approved'])]
)
price_unit = fields.Float(
string='Price Unit',
related='product_id.price', # Mengambil harga dari `product.custom`
store=True,
readonly=True
)
@api.onchange('product_id.price','price_unit')
def _onchange_product_id(self):
#import ipdb; ipdb.set_trace()
self.price_unit = self.product_id.price
self.name = self.product_id.description
self.product_uom_qty = self.product_id.qty
文件脚本 XML sale_order_view.xml:
<!-- views/sale_order_view.xml -->
<openerp>
<data>
<record id="view_order_form_custom" model="ir.ui.view">
<field name="name">sale.order.form.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='product_id']" position="replace">
<field name="product_id"/>
</xpath>
<xpath expr="//field[@name='price_unit']" position="attributes">
<attribute name="readonly">1</attribute>
</xpath>
</field>
</record>
</data>
</openerp>
您已将 Many2one 字段product_id 中的关系更改为不同的模型。但是product_id被用在很多业务逻辑中。该业务逻辑的一部分可能调用您的模型根本没有的子字段。这只是一个猜测,但应该非常接近正确答案。
我的建议:我不会像您那样从根本上改变订单行中的产品这样的核心组件。最好尝试另一种方式,例如新字段 custom_product_id 或类似的字段。