Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

one2many : write function save old data

By
Qamar Soft
on 9/17/16, 7:03 AM 205 views

I created an onchange function that link some object lines to the current one

     mo_lines_g1 = fields.One2many(comodel_name='object.order', inverse_name='mo_id1', copy=False )
    @api.onchange('date')    def change_date(self):          if self.date:
            g1=self.env['object.order'].search(['&'('date_order','>=',self.date),('date_order','<=',self.date)])            self.mo_lines_g1 = [(6,0, g1.ids )]


here everything is ok, but when I save the view, Odoo try to delete the linked lines from the object.order

so I tried to see what the write function send I found it send the old records :
vals[ 'mo_lines_g1'] = [[2, 61, False], [2, 62, False], [2, 63, False]]

normaly it must be :
vals['mo_lines_g1']=[] # or [(6,0,[])]

any ideas ?

0
Divya-browseinfo
On 9/20/16, 4:18 AM

Hello Qamar,


Try below code::

@api.onchange('date')

def change_date(self):

     if self.date:

         g1=self.env['object.order'].search(['&'('date_order','>=',self.date),('date_order','<=',self.date)])

         if g1:

             for id in g1:

             self.mo_lines_g1 = [(4, g1.id )]

mo_lines_g1 are added and prisent on the view but when I click Save button they disappears !

Qamar Soft
on 9/20/16, 10:34 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 9/17/16, 7:03 AM
Seen: 205 times
Last updated: 9/20/16, 4:18 AM