如何解决如何在 Odoo 中导入在第三方模块中声明的 Python 纯类?
我已经安装了模块 mis_builder,来自名为 mis-builder 的 Odoo 社区协会存储库。
在该模块中,定义了一个纯 Python 类,符合 Odoo 标准:
import pandas as pd
df = pd.read_csv('accounts.txt',names=['username','password','balance'],index_col=None)
for index,row in df.iterrows():
print(f'Username: {row["username"]}')
print(f'Balance: {row["balance"]}\n')
问题是我需要创建一个自定义模块来覆盖在类 class AccountingExpressionProcessor(object):
...
def get_aml_domain_for_expr(self,expr,date_from,date_to,target_move,account_id=None):
...
中定义的方法 get_aml_domain_for_expr
。
所以在我的模块中,我想导入 AccountingExpressionProcessor
类。我的问题是:
在我的 Python 文件中导入该类的最佳方法是什么?
我是这样做的:
AccountingExpressionProcessor
然后尝试以这种方式从导入的类中继承:
import imp
aep = imp.load_source(
'mis_builder.AccountingExpressionProcessor','/my/absolute/path/to/mis-builder/mis_builder/models/aep.py'
)
此解决方案不起作用。除此之外,我不想指定绝对路径,因为每个 Odoo 实例都有自己的路径。
我尝试了很多事情都没有结果。我使用的是 Python 2.7,因为它是 Odoo 10。有没有人知道一个好的解决方案?
解决方法
我不确定它是否适合您,但我有一个示例,其中 ODOO 实现了相同的功能。
from odoo.addons.account_taxcloud.models.taxcloud_request import TaxCloudRequest
这里的代码继承了 account_taxcloud(module) + taxcloud_request(py file) 然后使用方法:
class TaxCloudRequest(TaxCloudRequest):
def set_order_items_detail(self,order):
请检查它是否适合您。如果您找到任何解决方案,请更新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。