我正在开发 Odoo 10。
我创建了一个动态表单视图,它从条形码中搜索和显示产品,但我遇到了问题。
由于视图没有要显示的初始记录,因此它在编辑模式下打开,这没关系,因为我想输入“条形码”字段。
但是,在显示产品后,当我退出该视图时,会触发“can_be_discarded”函数,打开确认对话框。
我是否要创建一个继承自 FormView 的新视图类型,或者有没有办法解决这个问题?
该视图是一个经典的表单视图,没有什么特别之处。
这是服务器代码。
class ProductFromBarcode(models.TransientModel):
_name = 'levelprime_product_general_status.product_from_barcode'
_inherits = { 'product.product': 'product_id' }
product_id = fields.Many2one(
comodel_name='product.product',
store=False)
product_barcode = fields.Integer(help='Insert the barcode to search '
'the correspondent product',
store=False)
@api.onchange('product_barcode')
def on_barcode_changed(self):
if self.product_barcode != 0:
self.product_id = self.get_product_from_barcode(self.product_barcode)
@api.model
def get_product_from_barcode(self, barcode):
r = self.env['product.product'].search([('barcode', '=', barcode)])
if r:
return r