【发布时间】:2021-10-05 18:26:28
【问题描述】:
我有两种方法 在方法1中:
def print_xls(self):
record = self.env['sale.order'].search([('id','in',filtered_list)])
data = {
'model_recs':record
}
return self.env.ref('module_name.report_name').report_action(self, data=data)
在方法2中:
def generate_xlsx_report(self, workbook, data, lines):
h1 = workbook.add_format({'font_size': 16, 'align': 'center', 'align':'center','valign':'vcenter', 'bold': True,'underline':True})
sheet = workbook.add_worksheet('sale dept')
sheet.merge_range(1, 0, 3, 17,"Sale Report",h1)
print(data['model_recs'])
我正在获取数据['model_recs'] = 'sale.order(1,2,3)'
我的问题是如何将字符串模型 'sale.order(1,2,3)' 转换为模型/对象 sale.order(1,2,3),这样我就可以获得它的字段数据,如销售。第二种方法中的 order[0].some_field。
【问题讨论】:
-
这里缺少一些东西。你在第一部分填写
data,但不要在第二部分使用它。可以补充一下吗? -
@CZoellner 已编辑。
-
那应该是普通的记录集(对象),但字符串表示就像你说的那样。你有没有尝试循环它们?
-
@CZoellner 无法遍历字符串 'sale.order(1,2,3)'。这就是为什么我想将该字符串转换为记录集/模型。
-
好吧,这很奇怪。
标签: python odoo odoo-12 odoo-13 odoo-14