Openerp 以odoo 10为单位计算的现场结果

Openerp 以odoo 10为单位计算的现场结果,openerp,Openerp,我正在学习学生注册模块。我想自动生成注册码并将其保存到数据库中,因为计算方法有一些问题。 1.无法将计算结果保存到数据库中。 2.当我将store属性与field和Dependes api一起使用时,变量中并没有增量 下面是我的代码 reg\u code=fields.Char(compute='code',string='code',readonly=True) @api.multi def get_代码(自身): 计数=0 reg=“reg#” 请自行记录: 计数+=1 record.reg

我正在学习学生注册模块。我想自动生成注册码并将其保存到数据库中,因为计算方法有一些问题。 1.无法将计算结果保存到数据库中。 2.当我将store属性与field和Dependes api一起使用时,变量中并没有增量

下面是我的代码

reg\u code=fields.Char(compute='code',string='code',readonly=True)
@api.multi
def get_代码(自身):
计数=0
reg=“reg#”
请自行记录:
计数+=1
record.reg_code=reg+“”+str(计数)
如果记录.reg_代码:
计数+=1
record.reg_code=reg+“”+str(计数)
其他:
计数+=1
record.reg_code=reg+“”+str(计数)

您可以在Odoo中使用序列。 查找序列

启用活动开发人员模式

设置-->序列

然后在模块中添加以下代码:

将字段更改为

reg_code = fields.Char(string='Code',required=True, copy=False, readonly=True, index=True, default= lambda self: self.env['ir.sequence'].next_by_code('student.registration'))
创建另一个xml文件,就像您希望按代码创建序列一样

shipping.u sequence.xml

并添加此代码

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

        <!-- Sequences for student.registration -->
        <record id="seq_student_registration" model="ir.sequence">
            <field name="name">Student Registration</field>
            <field name="code">student.registration</field>
            <field name="prefix">Code-</field>
            <field name="padding">1</field>
            <field name="company_id" eval="False"/>
        </record>

    </data>
</odoo>

学生注册
学生注册
代码-
1.

Still reg_代码没有保存到数据库中,我可以在数据库中使用它进行搜索。只要该代码只在数据库中保存“New”(新建),它就可以提供帮助。是否可以像我上面提到的代码那样将计算值保存到数据库中,因为我对odoo中的序列没有太多的了解。最好的解决方案是使用序列,我在上面详细解释了这一点。你们找到序列了吗?请检查上面,然后使用它。这对你会有很大帮助