Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
1 Svar
4813 Visninger

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
Kassér

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,

Forfatter Bedste svar

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
Kassér
Related Posts Besvarelser Visninger Aktivitet
1
sep. 18
2854
0
maj 16
3435
2
dec. 15
3482
1
mar. 15
5315
2
apr. 19
2748