如何在odoov8的基本模块res.partner.bank中添加一个新字段



我正试图在odoo中的res.partner.bank模型中添加一个新字段。它将由res.bank中的字段值填充(通过onchange)。我在res.bank中添加了一个字段,它非常适合

    'bic': fields.char('Bank Identifier Code', size=64,
        help="Sometimes called BIC or Swift."),
    'ifsc': fields.char('IFSC', size=64),
}

现在我在res.partner.bank 中添加了一个类似的字段

    'bank_bic': fields.char('Bank Identifier Code', size=16),
    'bank_name': fields.char('Bank Name'),
    'bank_ifsc': fields.char('Bank Ifsc'),
    'owner_name': fields.char('Account Owner Name'),
    'street': fields.char('Street'),

现在,当我打开相应的菜单时,我会得到一个OpenERP服务器错误:

File "d:Program FilesERPserver.openerpsql_db.py", line 158, in wrapper
File "d:Program FilesERPserver.openerpsql_db.py", line 234, in execute
ProgrammingError: column res_partner_bank.bank_ifsc does not exist
LINE 1: ...partner_bank."owner_name",res_partner_bank."city",res_partne...
                                                         ^

然而,我也试图更改onchange定义,这导致了内部服务器错误:

def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
    result = {}
    if bank_id:
        bank = self.pool.get('res.bank').browse(cr, uid, bank_id, context=context)
        result['bank_name'] = bank.name
        result['bank_bic'] = bank.bic
        result['bank_ifsc'] = bank.ifsc
    return {'value': result}

任何线索都可能有所帮助,提前谢谢。

天哪!我从来没有想过这会是一个多么愚蠢的问题。由于我使用notepad++,我添加的定义行在前面使用了5个空格,其他的都是4个空格,尽管添加额外的空格不一定是犯罪行为,但在编译过程中会引起错误。

多亏了odoo.py,它提到了缩进错误,而我正试图构建另一个模块。经验教训,当涉及到代码时,即使是最小的东西也会给你带来很大的bug问题。

此行:

ProgrammingError: column res_partner_bank.bank_ifsc does not exist

指向您的错误-在将该列添加到代码中后,您是否更新了模块?似乎数据库并没有更新,列并没有添加到相关的表中,这导致Odoo崩溃。

我也有同样的错误。我所做的是,在数据库中手动添加新字段,重新启动服务器,然后它就工作了。

最新更新