我想循环查看我的所有发票,但收到此错误。如果我更改inv [0] .id它可以工作但只循环第一张发票。我该如何让它循环所有发票。
def generate(self):
Invoice = self.env['account.invoice']
inv = Invoice.browse(Invoice.search([]))
invoice = inv and inv[0]
for inv in invoice:
root = etree.Element('000')
po_code = etree.SubElement(root, '22')
po_code.text = str(inv.id) or ''
return root
ProgrammingError: can't adapt type 'account.invoice'
答案 0 :(得分:0)
当我们致电self.env['account.invoice'].search([])
时,我们将收到所有记录的记录集,这些记录存储在account.invoice
模型中。将该记录集再次放入browse
方法是多余的,因为此方法还返回记录集。此外,它不应该工作,因为browse
方法期望您的id或列表。查看文档。
从现在开始,您只需通过for
循环遍历记录集即可。每次您将从该记录集中获取一条记录,因此您只能操作它。
def generate(self):
for record in self.env['account.invoice'].search([]):
# go ahead with each record