首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odoo中Many2One或One2Many关系从非瞬态模型到TransientModel的解决方法

Odoo中Many2One或One2Many关系从非瞬态模型到TransientModel的解决方法
EN

Stack Overflow用户
提问于 2019-06-21 05:53:13
回答 2查看 816关注 0票数 1

我想在ODOO-10中建立一个非瞬态模型和瞬态模型之间的关系。我们已经创建了一个进行一些复杂计算的瞬态模型,现在我们希望将这些数据显示在非瞬态模型形式上,但是由于瞬态和非瞬态模型关系的限制,无法做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-23 15:32:18

在正常模型和瞬态模型之间允许的唯一关系是:

代码语言:javascript
复制
          T   ---- M2o   ----- > M
          M ------ M2M   ------> T

因此,如果您想要像One2many这样的行为,使用一个计算的Many2many并填充它,只需一个简单的搜索调用。

票数 3
EN

Stack Overflow用户

发布于 2019-06-24 05:02:30

在非瞬态模型中,定义一个打开向导的按钮。

非瞬变模型中的

代码语言:javascript
复制
def open_wiz(self):
    wiz=self.env['your_wizard_name'].create(
        {
        'xn_id':self.id, #your_non transient_model's id #not compulosory
        'field1':feild1_data,
        'field2':field2_data
        }
    return {

                'name':'Display',
                'view_type':'form',
                'view_mode':'form',
                'res_model':'your_wizard_model_name',
                'type':'ir.actions.act_window',
                'res_id':wiz.id,
                'target':'new',

            }

模型中的应用

如果要更改向导中的数据并在非瞬态模型中进行反映,请调用Super写函数并传递数据。例:

代码语言:javascript
复制
@api.multi
def write(self,vals):
    res=super(wiz_class_name,self).write(vals)
    self.xn_id.write({'field1':self.data_from_wiz})
    return res
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56697587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档