首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在model2的树状视图中显示model1中的字段

在model2的树状视图中显示model1中的字段
EN

Stack Overflow用户
提问于 2017-10-12 12:02:23
回答 1查看 86关注 0票数 2

我想要显示payroll.adjustment.lines中的字段employee_id,并从payroll.adjustment模型的树视图中显示它。有可能吗?他们有关系。

从payroll.adjustment模型

代码语言:javascript
复制
adjustment_lines = 
fields.One2many('payroll.adjustment.lines','adj_id',string="Adjustment 
lines")

从payroll.adjustment.lines模型

代码语言:javascript
复制
adj_id = fields.Many2one('payroll.adjustment',string="Payroll 
Adjustment",ondelete='cascade')

在我的xml中

代码语言:javascript
复制
<record id="payroll_adjustment_tree_view" model="ir.ui.view">
        <field name="name">payroll_adjustment.tree</field>
        <field name="model">payroll.adjustment</field>
        <field name="arch" type="xml">
            <tree string="Payroll Adjustment" colors="red:state == 
            'void';green:state == 'draft';blue:state=='confirm'">
                <field name="doc_num"/>
                <field name="company_id"/>
                <field name="adjustment_lines"/>
                <field name="date_from"/>
                <field name="date_to"/>
                <field name="state"/>
            </tree>
        </field>
    </record>

这个

代码语言:javascript
复制
<field name="adjustment_lines"/>

仅显示(2条记录),不显示员工姓名。请帮帮我。谢谢

我尝试了下面的答案,这就是结果。显示为false的员工姓名

这是我的树视图,在这里我从行中调用了字段,并将其从payroll.adjustment模型显示为树视图。

这是我的树视图的输出,它只显示(记录)

EN

回答 1

Stack Overflow用户

发布于 2017-10-12 16:36:43

当您覆盖模型payroll.adjustment.linename_get()方法时,它可以工作。下面的代码示例希望是不言自明的,并且是适用于您的情况的通用示例:

代码语言:javascript
复制
from odoo import models, fields, api


class MyModel(models.Model):
    _name = "my.model"

    another_model_ids = fields.One2Many(
        comodel_name="another.model", inverse="my_model_id",
        string="Another Model Entries")


class AnotherModel(models.Model):
    _name = "another.model"

    my_model_id = fields.Many2One(
        comodel_name="my.model", string="My Model")
    number = fields.Integer(string="A Number")
    yet_another_model_id = fields.Many2One(
        comodel_name="yet.another.model", string="Yet Another Model")

    @api.multi
    def name_get(self):
        # with context flags you can implement multiple
        # possibilities of name generation
        # best example: res.partner
        res = []
        for another_model in self:
            res.append((another_model.id, "{} {}".format(
                another_model.number,
                another_model.yet_another_model_id.name)))
        return res


class YetAnotherModel(models.Model):
    _name = "yet.another.model"

    name = fields.Char(string="Name")

my.model将是你的payroll.adjustment,而yet.another.model将是employee_id背后的模型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46701204

复制
相关文章

相似问题

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