我想更新已在OpenErp v7.0中安装和编写的My Custom模块。但我想迁移到ODOO v8.0。任何人都可以帮我解决这个问题。升级代码的确切过程是什么?
谢谢,Chandu
答案 0 :(得分:0)
首先,您必须修复从版本7到版本8的导入 作为一个例子
import osv
将是
import openerp.osv
版本8
版本8中使用的模型与版本7中的模型几乎相同。因此您很有可能只需要修复导入。
如果您在版本7中使用的型号不再存在。您应该搜索替换它的模型并将代码重写为新模型。
答案 1 :(得分:0)
虽然这不是提出这类问题的正确平台 为了帮助您开始使用新的API代码..以下是您应该开始在网络上浏览的一些新概念。
[1] 记录/记录集和模型
OpenERP / Odoo的新版本8.0引入了新的ORM API。
它打算添加更连贯,更简洁的语法并提供双向兼容性。
新API将其先前的根设计保留为模型和记录,但现在添加了诸如Environment和Recordset之类的新概念。
[2] 模型
模型是业务对象的表示。
它基本上是一个定义存储在数据库中的各种类知识和字段的类。模型中定义的所有函数,以前可由模型直接调用。
这个范例已经改变,因为通常你不应该直接访问Model而是RecordSet
要实例化模型,您必须继承openerp.model.Model:
from openerp import models, fields, api, _
class MyModel(models.Model):
_name = 'a.model' # Model identifer used for table name
firstname = fields.Char(string="Firstname")
[3] 修改环境
如果您需要修改当前上下文,可以使用with_context()函数。
self.env['res.partner'].with_context(tz=x).create(vals)
注意不要使用此功能修改当前的RecordSet:
self = self.env['res.partner'].with_context(tz=x).browse(self.ids)
它将在重新浏览后修改RecordSet中的当前记录,并将在缓存和RecordSet之间产生不连贯。
答案 2 :(得分:0)
您可以使用Openupgrade将数据库从openerp7迁移到odoo。 下载Openupgrade脚本并从终端运行:
python migrate.py --config=[your openerp.conf] --database=[your database] --run-migrations=8.0