python - Odoo 自定义设置页面中的 Many2one 字段

标签 python odoo odoo-11 erp

我正在尝试在odoo11的设置页面中添加many2one字段。我可以在设置页面中添加字符或整数字段,但使用 Many2one 字段时出现错误。

错误:

     psycopg2.DataError: invalid input syntax for integer:"double.accounts(406,)"
     LINE 1: ...FROM "double_accounts" WHERE "double_accounts".id IN ('double.acco...

这是我的代码:

类 AccountSetting(models.TransientModel):

_inherit = 'res.config.settings'

authtoken_module = fields.Char(default_model='account.move')
organization_module = fields.Char(default_model='account.move')
double_accounts_id = fields.Many2one('double.accounts', string="double Entery", default_model='account.move')

def get_values(self):
    res = super(AccountSetting, self).get_values() 
    res.update({
       'authtoken_module': self.env['ir.config_parameter'].sudo().get_param('account.authtoken_module', default=''),
       'organization_module': self.env['ir.config_parameter'].sudo().get_param('account.organization_module'),
 #### the error that i am facing from this line 
       'double_accounts_id': self.env['ir.config_parameter'].sudo().get_param('account.double_accounts_id', default=''),
 ####
   })
    return res

def set_values(self):
   super(AccountSetting, self).set_values()
   self.env['ir.config_parameter'].sudo().set_param('account.authtoken_module', (self.authtoken_module or ''))
   self.env['ir.config_parameter'].sudo().set_param('account.organization_module', (self.organization_module or ''))
   self.env['ir.config_parameter'].sudo().set_param('account.double_accounts_id', (self.double_accounts_id or ''))

最佳答案

还没仔细研究过。但似乎您从参数中获得了记录集而不是 ID。因此,一个简单的解决方案是将 .id 放在标记行的末尾。但这不是完整的解决方案,因为您的默认值必须更改为 self.sudo().env['account.double_accounts_id'],其中 .id 将工作也一样。

我真的很想知道为什么你会得到一个记录集,也许有人可以回答这个问题。

关于python - Odoo 自定义设置页面中的 Many2one 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55333116/

相关文章:

python - HTML 抓取 XPath

python - 在 pytest 中禁用特定记录器

python - 清除Python请求中的所有cookie

python - 这些 transient 模型的 ID 发生了什么?

email - 奥杜 10 : Mail Delivery Failed (error: 111)

odoo-11 - 在odoo模块中指定参数

python - 决策树 split

odoo - 无法访问 Google 云上的 Odoo

css - 添加 css 文件 odoo 11

python - 如何在 View 中的 Odoo 11 中从组标签中删除标签