Как избежать отображения полей в настраиваемой форме в OpenERP7?

Я использую OpenERP7, и я создал поле в форме. Это поле следующее:

'history': fields.function(_get_history, type='many2many',
                           obj="res.partner.link.category",
                           method=True, string='Categories'),

Затем я показываю это в форме. Поскольку это поле много2, оно отображается в виде дерева, которое я укажу ниже.

<group string="Activity Summary">
    <field name="history" nolabel="1" attrs="{'readonly': 1}">
        <tree string="Categories">
            <field name="active_category" attrs="{'readonly': 1}"/>
            <field name="link_category_id" attrs="{'readonly': 1}"/>
            <field name="type" attrs="{'readonly': 1}"/>
            <field name="date" attrs="{'readonly': 1}"/>
            <field name="observations"/>
            <button name="open_history" type="object" string="View history" icon="terp-calendar"/>
        </tree>
    </field>
</group>

Все в порядке, но, если я нажимаю на одну из записей, она открывается как всплывающая форма и показывает некоторые поля, которые мне не нужны. Например, объекты "res.partner.link.category" имеют атрибут partner_id, который я не хочу показывать. Поэтому я не написал его внутри дерева (что работает отлично), но я сделал то же самое для формы, и этот показывает все атрибуты "res.partner.link.category". Вот код после изменений, которые я сделал, чтобы показать форму, как я хочу:

<group string="Activity Summary">
    <field name="history" nolabel="1" attrs="{'readonly': 1}">
        <tree string="Categories">
            <field name="active_category" attrs="{'readonly': 1}"/>
            <field name="link_category_id" attrs="{'readonly': 1}"/>
            <field name="type" attrs="{'readonly': 1}"/>
            <field name="date" attrs="{'readonly': 1}"/>
            <field name="observations"/>
            <button name="open_history" type="object" string="View history" icon="terp-calendar"/>
        </tree>
        <form string="Categories" version="7.0">
            <sheet>
                <group col="4">
                    <field name="active_category"/>
                    <field name="link_category_id" options="{'no_open': True}"/>
                    <field name="type"/>
                    <field name="partner_id" attrs="{'invisible': True}"/>
                </group>
                <group col="4">
                    <field name="date"/>
                    <field name="observations"/>
                </group>
            </sheet>
        </form>
    </field>
</group>

Что я делаю неправильно? Есть ли способ это исправить?

1 ответ

Вы должны унаследовать и заменить его историей

Попробуй это,

<record id="form_id" model="ir.ui.view">
            <field name="name">model.form</field>
            <field name="model">model</field>
            <field name="inherit_id" ref="module_to_inherit.view id"/>
            <field name="arch" type="xml">
                <field name="partner_id" position="replace">
                    <field name="history"/>
                </field>
            </field>
</record>
Другие вопросы по тегам