如何获取列表并将其放入表单中

2024-03-28 21:25:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我申报了一个模型

class GuimarcLinechargerule(models.Model):
    _name = 'guimarc.linechargerule'

    line_type = fields.Char('line_type', required=True)
    loc = fields.Char('loc', required=True)
    prod_type = fields.Char('prod_type', required=True)
    cost_element = fields.Char('cost_element', required=True)

我想保留一个cost_element的列表,并将它放在一个窗体的下拉列表中。你知道吗

我的班级只有:

 cost_element = fields.Many2one('guimarc.linechargerule',string='cost_element')

但我觉得只有身份证。你知道吗

我的表格:

<form string="Fiance master cost" create="true" editable="top" delete="true">
   <sheet string="Finance Master Cost">
        <group>
            <group>
                <field name="cost_element"/>
                <field name="loc"/>
                <field name="cost"/>
                <field name="created_by"/>
                <field name="activate_date"/>
            </group>
        </group>
    </sheet>
</form>

所以我真正想要的是从guimarc.linecharrule中获取成本元素的列表,并在调用表单时将其作为字段cost_element的下拉列表。你知道吗


Tags: nametruefieldfields列表stringtypegroup
1条回答
网友
1楼 · 发布于 2024-03-28 21:25:59

3种可能性

  1. 指定字段名

    名称=字段。字符('loc',required=True)

或者 2添加属性\u rec\u name

_rec_name = 'loc'

当然,您将选择的字段将显示在窗体中。你知道吗

或3添加计算名称函数

@api.multi
@api.depends('line_type', 'loc', 'prod_type')
def name_get(self):
    result = []
    for linechargerule in self:
        result.append(
            (
                linechargerule.id,
                (
                    '{0} - {1} - {2}'.format(
                        linechargerule.line_type,
                        linechargerule.loc,
                        linechargerule.prod_type,
                    )
                ),
            )
        )
    return result

相关问题 更多 >