我在account.config.settings模型中添加了一个新字段。它在“设置”页中显示新字段,并可以输入值。但是当我重新打开页面时,这个值就不存在了。我知道Transient model不会保存很长时间的值。
但其余的价值仍然存在,我如何才能做到这一点?下面是我的密码。
*.py
class AccountSettings(models.TransientModel):
_inherit='account.config.settings'
@api.one
def _get_header(self):
header = fields.Char('Header')*.xml
<record id="view_account_config_settings_inherit" model="ir.ui.view">
<field name="name">view.account.config.settings.inherit.form</field>
<field name="model">account.config.settings</field>
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='accounting']" position="after">
<group string="Reports" name="reports">
<field name="header" class="oe_inline"/>
</group>
</xpath>
</field>
</record>发布于 2017-10-15 11:16:12
在account.config.settings模型中,可以使用以下方法保存您的值:
class AccountSettings(models.TransientModel):
_inherit='account.config.settings'
header = fields.Char('Header')
@api.multi
def set_header_defaults(self):
return self.env['ir.values'].sudo().set_default(
'account.config.settings', 'header', self.header)发布于 2019-05-24 15:47:06
试试下面的代码:
class AccountSettings(models.TransientModel):
_inherit='account.config.settings'
@api.one
def _get_header(self):
header = fields.Char('Header',config_parameter='header.configuration')您可以任意命名属性config_parameter。并且它将用于从其他模型中获取报头的值。
示例:
test = self.env['ir.config_parameter'].get_param('**header.configuration**', '').strip()测试将返回account.config.settings中的临时存储值。
https://stackoverflow.com/questions/46752694
复制相似问题