Skip to Content
Menu
This question has been flagged
1 Reply
4332 Views

how to insert(if not exsit) or update (if exsit) a one2many field and always limit the row in one record


for exemple


class vente(models.Models):

    _name = 'vente'

    def calcul_recette(self):

        // ......

    recette = fields.Float('recettre du jour', compute='calcul_recette')

    date = fields.Date('date')

    ligne_recette = fields.One2many('caisse', 'rec_id', 'caisse')

    for rec in self.env['caisse'].search([()]):

        rec.create({'date': self.ate, 'recette': self.recette, 'depense': 0})

        #this is what i now but it doesn't work as ... insert(if not exsit) or update (if exsit) a one2many field and        always limit the row in one record .....

class caisse(models.Models):

    _name = 'caisse'

    depense = fields.Float('depense')

    recette = fields.Float('recette')

    date = fields.Date('date')

    rec_id = fields.Many2one('vente', 'rec_id')

Avatar
Discard
Best Answer

These are the flags which is used for updating Odoo One2many or Many2many fields.

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary

(1, ID, { values }) update the linked record with id = ID (write values on it)

(2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)

(3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)

(4, ID) link to existing record with id = ID (adds a relationship)

(5) unlink all (like using (3,ID) for all linked records)

(6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)


Avatar
Discard