콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
4 답글
3373 화면

Hi Odooers,

I want to prevent the product.template object from clearing the internal reference when it's variant's internal reference changed.I tried the below code, the text is printing but product.template's internal reference value is still erased

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

@api.depends('product_variant_ids', 'product_variant_ids.default_code')
def _compute_default_code(self):
print("overridden")

kindly suggest any solutions.

Thanks in advance

아바타
취소
베스트 답변

Hello

Or you can set the default_code field as non-compute field:

default_code = fields.Char('Internal Reference', compute=False)
아바타
취소
작성자

let me try

작성자

Thanks it worked

You're welcome

베스트 답변

It seems like you have a typo. The class name should be ProductTemplate if you are trying to override product.template.

아바타
취소
작성자

The class name doesn't matter right? only the _inherit field is what matters I think.

베스트 답변

我在ODOO【18.0】中也有一样的需求,根据此贴将default_coder compute设置成False后解决,十分感谢。

아바타
취소
베스트 답변



Hey all to override a computed method we need to define the field again in the inherited class

class ProductTemplate(models.Model):
_inherit = 'product.template'
default_code = field.Char(compute='_compute_default_code')
@api.one
@api.depends('product_variant_ids', 'product_variant_ids.default_code')
def _compute_default_code(self):
print("overridden")






아바타
취소
관련 게시물 답글 화면 활동
2
7월 24
13390
1
7월 21
7438
0
4월 20
4224
1
5월 18
2569
0
4월 18
3014