Python 如何将一个定制模块从OpenERP 7.0升级到ODOO 8.0?

Python 如何将一个定制模块从OpenERP 7.0升级到ODOO 8.0?,python,xml,openerp,upgrade,openerp-7,Python,Xml,Openerp,Upgrade,Openerp 7,我想更新我的自定义模块,该模块已经在OpenErp v7.0中安装和编写。但我想迁移到OdooV8.0。谁能帮我解决这个问题。升级代码和所有代码的确切过程是什么 谢谢,Chandu首先,您必须修复从版本7到版本8的导入 例如 import osv 将是 import openerp.osv 在版本8中 版本8中使用的型号与版本7中使用的型号几乎相同。因此,你很有可能只需要修复导入 如果您在版本7中使用的模型不再存在。您应该搜索替换它的模型,并将代码重写为新模型 虽然这不是提出此类问题的正确平

我想更新我的自定义模块,该模块已经在OpenErp v7.0中安装和编写。但我想迁移到OdooV8.0。谁能帮我解决这个问题。升级代码和所有代码的确切过程是什么


谢谢,Chandu

首先,您必须修复从版本7到版本8的导入 例如

import osv
将是

import openerp.osv
在版本8中

版本8中使用的型号与版本7中使用的型号几乎相同。因此,你很有可能只需要修复导入

如果您在版本7中使用的模型不再存在。您应该搜索替换它的模型,并将代码重写为新模型

虽然这不是提出此类问题的正确平台
让您开始使用新的API代码。。下面是一些新概念,您应该开始在web上查看

[1] 记录/记录集和模型

OpenERP/Odoo的新版本8.0引入了一个新的ORMAPI

它打算添加一个更加连贯和简洁的语法,并提供双向兼容性

新的API将其以前的根设计保留为模型和记录,但现在添加了新的概念,如环境和记录集

[2] 型号

模型是业务对象的表示

它基本上是一个类,定义存储在数据库中的各种类专有技术和字段。在以前可由模型直接调用的模型中定义的所有函数

这个范例已经改变,因为通常您不应该直接访问模型,而应该访问记录集

要实例化模型,必须继承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)
注意不要使用此功能修改当前记录集:

self = self.env['res.partner'].with_context(tz=x).browse(self.ids)

重新浏览后,它将修改记录集中的当前记录,并在缓存和记录集之间产生不一致。

您可以使用Openupgrade将数据库从openerp7迁移到odoo。 下载脚本并从终端运行:


python migrate.py--config=[your openerp.conf]--database=[your database]--run migrations=8.0

我已经下载了migrate.py,那么我如何继续??我没有完全理解你说的python migrate.py--config=[openerp-server.conf]--database=[transtech8]--run migrations=8.0当我在系统上找不到用户时。。。。python migrate.py--config=[openerp-server.conf]--database=[transtech8]--run migrations=8.0在openerp-server.conf.python migrate.py--config=“/home/anipr/Documents/openerp-7.0/install/openerp-server.conf”--database=“transtech”--run migrations=“8.0”将服务器/插件链接到/var/tmp/openupgrade/8.0/addonsgit://github.com/OpenUpgrade/OpenUpgrade.git sh:1:git:未找到将数据库transtech复制到transtech_的操作。。。使用运行8.0 sh:1:/var/tmp/openupgrade/8.0/server/openerp-server迁移的“with template”复制数据库:未找到我遇到此类错误,您可以解决吗?是否已尝试使用固定导入运行旧模块?