Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3734 Lượt xem

Been stuck on this for half an hour. I just dont see where i am wrong


classProductProduct(models.Model):
    _inherit = "product.product"

    product_website_document_ids = fields.One2many('documents.document', string='Variant website documents', compute='_compute_product_document_ids')

    def_compute_product_document_ids(self):
        product_website_tag = self.env.user.company_id.product_document_website_tag
        product_documents = self.env['documents.document'].search([('res_model', '=', self._name), ('res_id', '=', self.id), ('type', '=', 'binary'), ]).filtered(lambdadoc: product_website_tag in doc.tag_ids)
        product_template_documents = self.env['documents.document'].search([('res_model', '=', self.product_tmpl_id._name), ('res_id', '=', self.product_tmpl_id.id), ('type', '=', 'binary'), ]).filtered(lambdadoc: product_website_tag in doc.tag_ids)        all_docs = product_documents | product_template_documents
        self.product_website_document_ids = all_docs

when adding this field in a template, i get


ValueError: Compute method failed to assign product.product(35,).product_website_document_ids


The thing is ... when debugging, it just does not even enter the

def_compute_product_document_ids method ...

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Ok i found the issue ... the def_compute_product_document_ids method was already defined in an another class in the inheritence tree, so that other method was called instead of this one.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 10 25
2944
1
thg 9 25
2905
3
thg 7 25
4229
1
thg 5 25
2322
4
thg 5 25
3698