预期单例:res.users() 以编程方式创建新发票时
Expected singleton: res.users() when create new invoice programmatically
我正在尝试在控制器中创建新发票:
request.env['account.move'].sudo().create([
{
'move_type': 'out_invoice',
'journal_id': 1,
'invoice_date': '2020-01-10',
'invoice_line_ids': [(0, 0, {'product_id': 21, 'price_unit': 1000.0})],
}])
但是我遇到了这个错误
Expected singleton: res.users()
请帮忙,谢谢。
在领导的帮助下我找到了答案,这里是:
这个问题是因为我们缺少 self.env.user
,为此,我们必须在模型调用后添加 .with_user(SUPERUSER_ID)
。
示例:
from odoo import SUPERUSER_ID
request.env['account.move'].with_user(SUPERUSER_ID).sudo().create([
{
'move_type': 'out_invoice',
'journal_id': 1,
'invoice_date': '2020-01-10',
'invoice_line_ids': [(0, 0, {'product_id': 21, 'price_unit': 1000.0})],
}])
我正在尝试在控制器中创建新发票:
request.env['account.move'].sudo().create([
{
'move_type': 'out_invoice',
'journal_id': 1,
'invoice_date': '2020-01-10',
'invoice_line_ids': [(0, 0, {'product_id': 21, 'price_unit': 1000.0})],
}])
但是我遇到了这个错误
Expected singleton: res.users()
请帮忙,谢谢。
在领导的帮助下我找到了答案,这里是:
这个问题是因为我们缺少 self.env.user
,为此,我们必须在模型调用后添加 .with_user(SUPERUSER_ID)
。
示例:
from odoo import SUPERUSER_ID
request.env['account.move'].with_user(SUPERUSER_ID).sudo().create([
{
'move_type': 'out_invoice',
'journal_id': 1,
'invoice_date': '2020-01-10',
'invoice_line_ids': [(0, 0, {'product_id': 21, 'price_unit': 1000.0})],
}])