Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
5341 Vizualizări

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_id = fields.Many2one('sale.order')
    sale_order_line_id = fields.Many2one('sale.order.line')
    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_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 sale_order.id?

I would appreciate any help.

Best regards 

Imagine profil
Abandonează
Cel mai bun răspuns

You need to put quotes around the full domain so you can use variables in the domain declaration.

reference_id = fields.Many2one('exe.reference', string="Reference", domain="[('sale_order_id','=',order_id)]") 
Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
3
iul. 25
4453
0
mai 25
944
2
mar. 24
2187
0
ian. 23
1773
1
nov. 22
3233