gpt4 book ai didi

python - 奥杜 10 : Getting a view like invoice _line_ids from Invoice module

转载 作者:行者123 更新时间:2023-12-01 09:01:30 27 4
gpt4 key购买 nike

我正在扩展员工模块以列出员工从公司获得的所有设备。下面是我的 models.py :

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class device_types(models.Model):
_name = "device.types"
name = fields.Char()

class device_names(models.Model):
_name = "device.names"
name = fields.Char()
#devices_names = fields.Many2one('hr.employee')


class devices(models.Model):
_name = "devices"

#devices_types = fields.Many2one('device.types')
devices_id = fields.Many2one('hr.employee')
devices_types = fields.Char()
devices_names = fields.Char()



#employee_id = fields.Many2one('hr.employee')


class employee_devices(models.Model):
_inherit = 'hr.employee'
#devices_lines_ids = fields.One2many('devices','devices_id',string='Device Lines',readonly=True, states={'draft': [('readonly', False)]}, copy=True)
devices_lines_ids = fields.One2many('devices','devices_id',string='Device Lines')
#devices_names = fields.Many2one('devices')
#devices_types = fields.Many2one('devices')
devices_types = fields.One2many('devices','devices_types')
devices_names = fields.One2many('devices.names')

和我的 view.xml :

<odoo>
<data>
<!-- explicit list view definition -->

<record id="invoice_form" model="ir.ui.view">
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form" />
<field name="priority" eval="1"/>
<field name="arch" type="xml">
<xpath expr="//notebook//page[@name='hr_settings']" position="after">
<page name="Devices" string="Devices" groups="hr.group_hr_user">
<group>
<group string="Devices" name="devices_group">
<field name="devices_lines_ids" nolabel="1" widget="one2many_list" mode="tree" >
<tree string="Devices" editable="bottom">
<field name="devices_types" />
<field name="devices_names"/>
</tree>
</field>
</group>
</group>
</page>
</xpath>
</field>
</record>


</data>
</odoo>

我能够实现这一目标: enter image description here

但我希望在设备类型和设备名称列中有一个下拉菜单,能够创建新类型和名称。我尝试了不同的组合,正如您在 models.py 的评论中看到的那样。我怎样才能在我的 View 中获得下拉菜单???

简而言之,我想要这种类型的 View ,我可以在 TreeView 中编辑每一列,并且某些列具有下拉菜单:enter image description here

最佳答案

已修复。我更新的modules.py:

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class device_types(models.Model):
_name = "device.types"
name = fields.Char()

class device_names(models.Model):
_name = "device.names"
name = fields.Char()


class devices(models.Model):
_name = "devices"
employee_name = fields.Many2one('hr.employee')
devices_names = fields.Many2one('device.names')
devices_types = fields.Many2one('device.types')



class employee_devices(models.Model):
_inherit = 'hr.employee'
devices_lines_ids = fields.One2many('devices','employee_name',string='Device Lines',states={'draft': [('readonly', False)]}, copy=True)

和我的views.xml:

    <odoo>
<data>
<!-- explicit list view definition -->

<record id="invoice_form" model="ir.ui.view">
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form" />
<field name="priority" eval="1"/>
<field name="arch" type="xml">
<xpath expr="//notebook//page[@name='hr_settings']" position="after">
<page name="Devices" string="Devices" groups="hr.group_hr_user">
<group>
<field name="devices_lines_ids" nolabel="1" widget="one2many_list" mode="tree">
<tree string="Devices" editable="bottom">
<field name="devices_types" />
<field name="devices_names"/>
</tree>
</field>
</group>
</page>
</xpath>
</field>
</record>
</data>
</odoo>

关于python - 奥杜 10 : Getting a view like invoice _line_ids from Invoice module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423983/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com