Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
4745 Visualizzazioni

Good day everyone.  I'm trying to override write in product class to replace the value of a field when user saves.

class ProductProduct(models.Model):
   _inherit = 'product.product'

   def write(self, vals):
       res = super(ProductProduct, self).write(vals)
       self.description_sale = res.part_number

       return res

Could anyone please point me the proper sintax?  thanks in advance.
Avatar
Abbandona

Hello Avash,

The write method returns a Boolean and not a recordset/object. If you are trying to achieve set the description_sale value the sale as the part_number field. You can try:

self.description_sale = self.part_number

Could you provide more info on what you are trying to do, please.

Your code looks ok in terms of overriding.

Thanks,

Autore Risposta migliore

Hello Jack, thanks for reply.   For some reason the forum does not allow me to reply to your message. 

What I'm doing is storing the value of part_number to description_sale anytime user changes part_number and this code seems to do the job.

class ProductTemplate(models.Model):
    _inherit = 'product.template'
    def write(self, vals):
        desc = ''
        if vals.get('part_number'):
            desc = vals.get('part_number')
        if desc:     
            vals.update({'description_sale': desc})
        res = super(ProductTemplate, self).write(vals)
       return res

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
set 18
2772
0
mag 16
3377
2
dic 15
3482
1
mar 15
5220
2
apr 19
2697