繁体   English   中英

安装模块后是否正常字段未更新?

[英]Is it normal fields are not updated after installing modules?

我正在 OpenERP 7 上开发一个模块。

这是一个非常简单的代码:它在 python 文件中只有 1 个新字段(或列),在 xml 中有一个 xpath。 我知道它有效,因为有一次它已成功安装

当我尝试使用模块接口安装/更新我的模块时,有时会将该字段添加/更新到 OpenERP,但有时不会。

我尝试在安装我的模块之前和之后启动/停止和重新启动 Openerp,但我不知道它是否有后果。 我在日志中没有错误或有用的东西。

所以字段不会添加/更新,而是每次都会更新 xml... 有没有人知道发生了什么事情和解决方案?

蟒蛇代码:

# -*- 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代码:

<?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>

我认为它可以使用命令行 -u 更新字段!

但我的另一个问题没有解决:表单视图中没有空复选框

在此处输入图片说明

在表单视图中,我无法选中此复选框:

在此处输入图片说明 我点击编辑,我检查它并保存:复选框回到空!

我在数据库中看到该值保存为true或false,但在界面上没有显示

您应该看到以下错误

验证错误

验证字段 arch 时出错:视图架构的 XML 无效!

由于adquat_ack_recep被定义stock.picking ,你把它添加到stock.picking.in形式。

您需要从stock.picking.in继承。

_inherit = "stock.picking.in"

编辑:

adquat_ack_recep字段添加到模型stock.pickingstock.picking.instock.picking.in读取方法被覆盖以从stock.picking模型读取值)。 看看字段不保存问题

由于两个实例同时运行,可能会出现问题。 确保您运行单个实例。 您还可以通过命令行更新模块,这可能会解决您的问题,请参阅此链接以通过命令行进行模块更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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