Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openerp 在何处编写python的新方法。要么在现有的.py文件中,要么我需要创建一个新文件?_Openerp_Openerp 7_Odoo_Openerp 8_Odoo 8 - Fatal编程技术网

Openerp 在何处编写python的新方法。要么在现有的.py文件中,要么我需要创建一个新文件?

Openerp 在何处编写python的新方法。要么在现有的.py文件中,要么我需要创建一个新文件?,openerp,openerp-7,odoo,openerp-8,odoo-8,Openerp,Openerp 7,Odoo,Openerp 8,Odoo 8,我将在销售点中编写一个包含现有.py文件的方法。我应该创建新的python文件吗?或者在现有的.py文件中编写新方法???如果需要将新方法添加到特定模型(例如sale.order),则继承该特定模型并将方法添加到单独的模块(即自定义模块)中 class SaleOrder(models.Model): _inherit='sale.order' @api.multi def custom_test_method(self...) 注: 这是为了从github迁移到新版本

我将在销售点中编写一个包含现有.py文件的方法。我应该创建新的python文件吗?或者在现有的.py文件中编写新方法???

如果需要将新方法添加到特定模型(例如sale.order),则继承该特定模型并将方法添加到单独的模块(即自定义模块)中

class SaleOrder(models.Model):
    _inherit='sale.order'
    @api.multi
    def custom_test_method(self...)
注:
这是为了从github迁移到新版本或更新代码。大多数情况下,对模型的任何修改都只需要在自定义模块中完成。

切勿更改基本模块中的代码,否则模块不是由您编写的。因为当转换到更新最新的代码以获得新功能或迁移到另一个版本时,代码丢失的可能性很大,并导致奇怪的行为

将自定义模块用于新方法或覆盖现有方法 例如:要在pos模块中添加新方法,型号pos.order:

class pos_order(orm.Model):
    _inherit = "pos.order"

    def your_new_method(self, cr, uid, ids, args, context=None):
        ## your code
        return
对于现有方法:

class pos_order(orm.Model):
    _inherit = "pos.order"

    def your_existing_method(self, cr, uid, ids, args, context=None):
        res = super(pos_order, self).your_existing_method(cr, uid, ids, args, context=context)
        ## your code to change the existing method result
        return res

我建议,您必须在单独的文件中写入扩展销售点模块的内容。