Odoo 8 模块中的错误:Missing Error 解决方案是什么?

问题描述 投票:0回答:1

下午好,我的 Odoo 8 模块出现错误,错误如下:MissingError

您尝试访问的文档之一已被删除,请刷新后重试。

屏幕截图错误: 屏幕截图错误 1 屏幕截图错误 2

详细完整错误:

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>
odoo odoo-8
1个回答
0
投票

您已将 Many2one 字段product_id 中的关系更改为不同的模型。但是product_id被用在很多业务逻辑中。该业务逻辑的一部分可能调用您的模型根本没有的子字段。这只是一个猜测,但应该非常接近正确答案。

我的建议:我不会像您那样从根本上改变订单行中的产品这样的核心组件。最好尝试另一种方式,例如新字段 custom_product_id 或类似的字段。

© www.soinside.com 2019 - 2024. All rights reserved.