简体   繁体   中英

Is it normal fields are not updated after installing modules?

I'm developping a module on OpenERP 7.

It is a very simple code : it has only 1 new field (or column) in python file, and an xpath in the xml. I know it works because one time it was succesfully installed

When I try to install/update my module with the module interface, sometimes the field is added/updated to OpenERP, but sometimes no.

I tried to start/stop and restart Openerp before and after installing my module, but I don't know if it has consequences. I don't have errors or useful thing in the logs.

So fields don't add/update but xml update everytime... Does anyone have an idea of what's going on and a solution ?

python code:

# -*- coding: utf-8 -*-
from openerp.osv import fields, osv

class StockPickingIn(osv.osv):
    _name = "stock.picking.in"
    _inherit = "stock.picking.in"

    _columns = {
        'adquat_ack_recep': fields.boolean('Accusé de réception'),
    }

xml code:

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>

        <record id="view_picking_in_form_adquat" model="ir.ui.view">
            <field name="name">stock.picking.in.form.adquat</field>
            <field name="model">stock.picking.in</field>
            <field name="inherit_id" ref="stock.view_picking_in_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='stock_journal_id']" position="after">
                    <field name="adquat_ack_recep" />
                </xpath>
            </field>
        </record>

        <record id="view_picking_in_tree_adquat" model="ir.ui.view">
            <field name="name">stock.picking.in.tree.adquat</field>
            <field name="model">stock.picking.in</field>
            <field name="inherit_id" ref="stock.view_picking_in_tree"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='state']" position="after">
                    <field name="adquat_ack_recep" />
                </xpath>
            </field>
        </record>

    </data>
</openerp>

I think it works to update fields with Command line -u !

But my other problem is not solved : I dont have empty checkboxes in form view

在此处输入图片说明

And in form view i can't have this checkbox checked :

在此处输入图片说明 I click on edit, i check it and save : the checkbox come back to empty !

I saw in the database the value is saved as true or false, but it's not displayed on the interface

You should see the following error

ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Because adquat_ack_recep is defined in stock.picking and you add it to stock.picking.in form.

You need to inherit from stock.picking.in .

_inherit = "stock.picking.in"

Edit:

Add adquat_ack_recep field to both models stock.picking and stock.picking.in ( stock.picking.in read method was overitten to read values from stock.picking model). Take a look at fields not saving problem

Problem may arises due two instances running at same time. make sure you run single instance. you can also update module through command line this may solve your issue refer this link for module updation through command line.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM