我在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>
答案 0 :(得分:2)
在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)
答案 1 :(得分:0)
尝试以下代码:
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()
test将返回account.config.settings
中的临时存储值。