我将在销售点编写一个包含现有 .py 文件的方法。我应该创建新的python文件吗?或在现有的 .py 文件中编写新方法?
问问题
98 次
2 回答
0
切勿更改基本模块中的代码或不是您编写的模块。因为当转换到更新最新代码以获得新功能或迁移到另一个版本时,代码丢失和导致奇怪行为的可能性很大。
为新方法使用自定义模块或覆盖现有方法 例如:要在 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
于 2015-04-01T05:38:49.267 回答
0
如果您需要向特定模型(例如 sale.order)添加新方法,则继承该特定模型并将您的方法添加到单独的模块(即自定义模块)中。
class SaleOrder(models.Model):
_inherit='sale.order'
@api.multi
def custom_test_method(self...)
注意:这是为了迁移到新版本或从 github 更新您的代码。大多数情况下,对模型的任何修改都只需要在自定义模块中完成。
于 2015-03-31T06:49:53.597 回答