Im trying to add and save a custom field in POS Odoo v15, model "pos.order" but it doesn't work.
I'm trying the following.
Inherit the model.
class PosOrder(models.Model):
_name = 'pos.order'
_inherit = 'pos.order'
order_new_field = fields.Selection(
[('1', 'Bla'), ('2', 'Ble')], 'Desc.', default='1')
Then i load the model in pos with load_fields
odoo.define('my_module.models', function (require) {
'use strict';
var models = require('point_of_sale.models')
models.load_fields('pos.order', ['order_new_field'])
Then I try to read or set the field but this is not stored in pos.order
const PosUsoCFDIInvoice = PaymentScreen => class extends PaymentScreen {
setField(e) {
this.currentOrder.order_new_field = e.target.value
}
}
I've tried extend models.Order.extend functions export_as_JSON and init_from_JSON without success.
But when i try to read my field in the model the value is not updated
import logging
from odoo import models, fields, api
_logger = logging.getLogger(__name__)
class PosOrder(models.Model):
_name = 'pos.order'
_inherit = 'pos.order'
order_new_field = fields.Selection(
[('1', 'Bla'), ('2', 'Ble')], 'Desc.', default='1')
def _prepare_invoice_vals(self):
vals = super()._prepare_invoice_vals()
# order_new_field always is 1 .. always. :(
_logger.warning(self.order_new_field)
vals.update({'example_field': self.order_new_field } )
return vals
Please help :D and thanks