Community mailing list archives

Re: Help with domain with new field at sale.order.line

Lambda Networks AS, Levent Karakaş
- 04/07/2015 04:16:35
As far as I understood, you want to have references to be within the same order. If so;

1) you should have sale_order_id in exe_reference instead of sale_order_line_id in your model.

 sale_order_line_id = fields.Many2one('sale.order', string='Order', readonly=True)

2) you should have corresponding One2Many relations in exe_reference and sale_order models

Then you can filter it by order_id of sale_order_line...

Better you check examples in documentation.

2015-04-07 0:39 GMT+03:00 Alejandro Perez <>:

Dear all,

I added a new many2one field "reference_id" to the sale.order.line model and it worked well, but now I would want to set a domain for that field.

This is the idea:

- When I create a new sale_order and add some order_lines, there should not be any "reference" at the dropbox for the sale_order_line field, but we should be able to create a new one (lets call it "ref004" because I created others before).
- With that line created, I would want to add a new order line and set that ref004 to the new line.
- If I create a new sale order, I should see the reference_id field empty again.

My model "exe_reference" fields look like this:

class exe_reference(models.Model):
    _name = 'exe.reference'

    sale_order_line_id = fields.Many2one('sale.order.line', string='Referenced Order Line', readonly=True)
    name = fields.Char(string='Reference Name')
    date = fields.Date()
    establishment_id = fields.Many2one('res.partner')
    partner_id = fields.Many2one('res.partner', string='Partner')

class reference_sale(models.Model):
    _inherit = 'sale.order.line'

    reference_id = fields.Many2one('exe.reference', string="Reference", domain=[('sale_order_line_id','=',???)])

If I set a 1 instead '???' I get what I want (obviously, only if I'm at the SO001). How can I get the

I would appreciate any help.

Best regards


Post to: