无法将序列字段添加到继承的 Odoo 模型

Trouble adding a sequence field to inherited Odoo model

我正在尝试向 crm.lead 模型添加一个序列字段。我已经为我之前构建的另一个自定义模块实现了这段代码,没有任何问题。

我添加了新字段

 class vox_crm_register(models.Model):
   
    _inherit = 'crm.lead'

    name_seq = fields.Char(
        string='Registration Reference',
        required=True,
        copy=False,
        readonly=True,
        index=True,
        default=lambda self: _('New'))

我已经覆盖了创建函数

@api.model
    def create(self, vals):
        print(vals.get('name_seq'))
        if vals.get('name_seq', _('New')) == _('New'):
            print('IF is true')
            vals['name_seq'] = self.env['ir.sequence'].next_by_code('vox_crm_register.sequence') or _('New')
        res = super(vox_crm_register, self).create(vals)
        return res

这是我的序列

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">

        <record id="registration_sequence" model="ir.sequence">
            <field name="name">Registration Sequence</field>
            <field name="code">vox_crm_register.sequence</field>
            <field name="prefix">reg</field>
            <field name="padding">3</field>
            <field name="company_id" eval="False"/>
        </record>

    </data>
</odoo>

这是视图

<xpath expr="//sheet/group" position="replace">
     <div class="oe_title">
         <h1><field name="name_seq"/></h1>
     </div>
</xpath>

create 函数中打印语句的结果是

None

如果为真

因为它是继承的,所以我必须以某种方式强制它或添加上下文吗???

感谢任何帮助

视图定义中不存在 name_seq

来自 constrains 文档:

@constrains will be triggered only if the declared fields in the decorated method are included in the create or write call. It implies that fields not present in a view will not trigger a call during record creation.

您可以推断,如果视图中不存在该字段,则其值将不会出现在 createwrite 方法中。

编辑:

当你点击保存按钮时,saveRecord函数将被调用到return值被修改的字段名列表,创建方法中将使用相同的列表.

由于 name_seq 字段是只读的,因此它不会出现在创建值中。

我发现了问题,睡眠不足和愚蠢。我已经更改了序列的代码值,并且没有从 Odoo 中删除旧序列。由于序列有 noupdate 标签,它不会创建新序列,但也不会更新。感谢 Kenly 的回复。