如何基于另一个字段创建动态序列?

How to create a Dynamic Sequence based on another field?

我想为基于字段 category_id 的产品创建一个动态序列。我在 product.category 中添加了一个 category_code。但是一旦我在 create 函数中调用它,它 returns False:

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

    @api.model
    def create(self, vals):
        if 'default_code' not in vals or vals['default_code'] == '/':
            sequence = self.env.ref('product_sequence.seq_product_auto')
            record=super(ProductProduct, self).create(vals)
            print self.categ_id.category_code
        vals['default_code'] =self.categ_id.category_code + sequence.next_by_id()
        return record

这样试试:

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

    @api.model     
    def create(self, vals):
        record=super(ProductProduct, self).create(vals) 
        if 'default_code' not in vals or vals['default_code'] == '/':
            sequence = self.env.ref('product_sequence.seq_product_auto')
            print record.categ_id.category_code
            record.default_code =record.categ_id.category_code + sequence.next_by_id()
        return record