0

我正在尝试在 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 Files\ERP\server\.\openerp\sql_db.py", line 158, in wrapper
File "d:\Program Files\ERP\server\.\openerp\sql_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}

任何线索可能会有所帮助,在此先感谢。

4

3 回答 3

1

我的天啊!我从没想过这会是一个多么愚蠢的问题。因为我使用的是记事本++,所以我添加的定义行在前面使用了 5 个空格,其他的是 4 个空格,尽管添加额外的空格不一定是犯罪,但它在编译过程中会引发错误。

感谢odoo.py,它提到了缩进错误,而我正在尝试搭建另一个模块。吸取的教训,在代码方面,即使是最小的事情也会给你带来一个大问题。

于 2015-03-19T22:45:33.003 回答
0

这一行:

ProgrammingError: column res_partner_bank.bank_ifsc does not exist

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

于 2015-03-19T09:42:11.817 回答
0

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

于 2018-03-13T19:49:55.063 回答