Openerp 继承TransientModel并具有两个视图(website.config.settings)

Openerp 继承TransientModel并具有两个视图(website.config.settings),openerp,odoo-8,odoo-9,odoo-view,Openerp,Odoo 8,Odoo 9,Odoo View,我试图继承网站设置菜单,并有两个视图。website.config.settings是一个models.TransientModel 当我继承它并使用新菜单项查看时,它会覆盖以前的视图。Like-现在有两个视图,我定义的新记录命名为Website Event Settings。当我单击该按钮时,它将加载新的修改视图,但当我单击“现有设置”菜单时,它将不显示任何内容 总之,现有网站设置菜单不工作,新菜单不工作。我两个都需要 我使用的py代码和记录视图如下- class cofair_website

我试图继承网站设置菜单,并有两个视图。website.config.settings是一个models.TransientModel

当我继承它并使用新菜单项查看时,它会覆盖以前的视图。Like-现在有两个视图,我定义的新记录命名为Website Event Settings。当我单击该按钮时,它将加载新的修改视图,但当我单击“现有设置”菜单时,它将不显示任何内容

总之,现有网站设置菜单不工作,新菜单不工作。我两个都需要

我使用的py代码和记录视图如下-

class cofair_website_design_config(models.TransientModel):
    _name = 'website.config.settings'
    _inherit = 'website.config.settings'

    event_title = fields.Char(related='website_id.event_title', string='Event Title')
XML:


网站活动设置
website.config.settings
网站活动设置
website.config.settings
形式
内联

将模型定义中的
\u name
属性更改为其他属性,并适当修改xml

class cofair_website_design_config(models.TransientModel):
    _name = 'something.else'
    _inherit = 'website.config.settings'

    event_title = fields.Char(related='website_id.event_title', string='Event Title')
ir.ui.view

<field name="model">something.else</field>

这应该将
website.config.settings
中的所有字段和方法复制到新模型
something.else
,并将其与
website.config.settings

分开,而不是重命名模块(这会导致关系错误),我找到了一个解决方法。我继承了主设置,在那里放置了一个视图id,并使用menuitem调用它-

<!-- Bring settings menu out -->
<record id="website.action_website_configuration" model="ir.actions.act_window">
    <field name="name">Website Settings</field>
    <field name="res_model">website.config.settings</field>
    <field name="view_mode">form</field>
    <field name="target">inline</field>
    <field name="view_id" ref="website.view_website_config_settings"/>
</record>

<menuitem id="website.menu_website_website_settings" parent="website.menu_website_configuration" name="Website Admin" action="website.action_website_configuration"/>

网站设置
website.config.settings
形式
内联

然后我调用了我的录制操作,它加载了视图和操作。另一个关键点是,我必须显示网站id以显示特定网站的值,否则临时模型将始终为空。

我尝试过,但website.config.settings引用了其他模型,它不允许保存新视图。我找到了一个解决方法,通过继承网站记录操作和菜单时间,我在记录中放置了一个视图Id,并覆盖了主菜单项。这样我就不必更改型号名称了。好吧,太好了……你应该把你的答案标记为已接受,因为你找到了答案,而且它对你有用
<field name="res_model">something.else</field>
<!-- Bring settings menu out -->
<record id="website.action_website_configuration" model="ir.actions.act_window">
    <field name="name">Website Settings</field>
    <field name="res_model">website.config.settings</field>
    <field name="view_mode">form</field>
    <field name="target">inline</field>
    <field name="view_id" ref="website.view_website_config_settings"/>
</record>

<menuitem id="website.menu_website_website_settings" parent="website.menu_website_configuration" name="Website Admin" action="website.action_website_configuration"/>