Поле не существует только в виде дерева

Итак, у меня проблема с древовидным представлением.

Если я хочу добавить field name = "work_order_id", я понимаю, что это поле не существует. но если я нажму на запись, мне откроется вид формы с существующим полем? что не так с моим древовидным представлением?

<record id="mrp_workorder_view_form" model="ir.ui.view">
    <field name="name">mrp.workorder.view.form</field>
    <field name="model">mrp.workorder</field>
    <field name="priority">15</field>
    <field name="inherit_id" ref="mrp.mrp_production_workorder_form_view_inherit"/>
    <field name="arch" type="xml">
        <field name="name" position="before">
            <field name="work_order_lots_ids" widget="one2many_list"/>
                <tree  editable="bottom">
                    <!--<field name="work_order_id"/>-->
                </tree>
        </field>
    </field>
</record>
class WorkOrderLots(models.Model):
    _name = 'work.order.lots'
    _description = 'Work Order Lots'

    work_order_id = fields.Many2one('mrp.workorder')
    work_order_lot_id = fields.Many2one(
        'stock.production.lot', string='Work Order Lot',
    )
    quantity = fields.Float(string='Quantity', digits=(6, 2), required=False)

class MrpWorkorder(models.Model):
    _inherit = 'mrp.workorder'


    work_order_lots_ids = fields.One2many(
        'work.order.lots', 'work_order_id',
        string='Field Names',
        )

введите описание изображения здесь


person Chaban33    schedule 02.09.2019    source источник


Ответы (2)


Удалить widget="one2many_list" атрибуты из поля work_order_lots_ids

Заменить следующий код из

<field name="work_order_lots_ids" widget="one2many_list"/>
    <tree  editable="bottom">
        <!--<field name="work_order_id"/>-->
    </tree>
</field>

to

<field name="work_order_lots_ids"/>
    <tree  editable="bottom">
        <field name="work_order_lot_id"/>
        <field name="quantity"/>
    </tree>
</field>
person Bhavesh Odedra    schedule 03.09.2019
comment
Дело в том, что у меня будет ошибка, если я добавлю эти поля, например, this.raise ValidationError (% s \ n \ n% s% (_ (Ошибка при проверке ограничения), tools.ustr (e))) odoo.tools.convert. ParseError: Ошибка при проверке ограничения. Поле work_order_id не существует. Ошибка в контексте: View mrp.workorder.view.form [view_id: 1072, xml_id: config_trikdis.mrp_workorder_view_form, model: mrp.workorder, parent_id: 771] Нет при синтаксическом анализе / home / antonp / workspace / Odoo12 / sandas_addons / config_trikdis / views / mrp_workorder_view.xml: 5, рядом ‹record id = mrp_workorder_view_form model = ir.ui.view› - person Chaban33; 03.09.2019
comment
@ Chaban33 Я отредактировал свой ответ и удалил поле work_order_id из древовидной структуры. Когда вы сохраняете запись, в ней будет храниться текущий идентификатор рабочего задания. Пожалуйста, попробуйте еще раз. - person Bhavesh Odedra; 03.09.2019
comment
та же ошибка только сейчас с work_order_lot_id, и если удалить work_order_lot_id, та же ошибка с количеством. это очень странно, потому что если я нажимаю на запись, мне открывается вид формы со всеми полями со значениями. - person Chaban33; 03.09.2019

Это сработало для меня. Просто изменил вид на это.

<record id="mrp_workorder_view_form" model="ir.ui.view">
            <field name="name">mrp.workorder.view.form</field>
            <field name="model">mrp.workorder</field>
            <field name="priority">15</field>
            <field name="inherit_id" ref="mrp.mrp_production_workorder_form_view_inherit"/>
            <field name="arch" type="xml">
                <notebook position="inside">
                    <page string="Work Order Lots" name="work_order_lots">
                        <field name="work_order_lots_ids" widget="section_and_note_one2many" >
                            <form>
                                <group>
                                    <field name="work_order_lot_id"/>
                                    <field name="quantity" />
                                </group>
                            </form>
                            <tree string="Work Order Lotss" editable="bottom" >
                                <field name="work_order_lot_id"/>
                                <field name="quantity" />
                            </tree>
                        </field>
                    </page>
                </notebook>
            </field>
        </record>
person Chaban33    schedule 03.09.2019