错误列不存在于自定义模块Odoo上

时间:2018-06-01 07:48:58

标签: python odoo-11

我正在处理自定义模块,我需要在res.partner模型中添加字段。我已经为这个模型添加了一些字段但是从1周开始,当我尝试添加一个新字段时,我收到了这个错误:

ERROR: column res_partner.my_field does not exist

其他领域运作良好但不是这一个:

my_field = fields.Boolean(default=False)

我真的不知道为什么我会遇到这个问题。我尝试添加联系人'依赖于我的模块,它可以在我的本地版本上工作,但不能在我的在线版本上工作

如果somone知道它可能真的很好

感谢您的帮助

编辑 res.partner classe

from odoo import api, fields, models

class ResPartner(models.Model):
    _inherit = 'res.partner'

badge_ids = fields.One2many('mymodule.badge','client_i
sub_ids = fields.One2many('mymodule.subs','client_id')
#field that doesn't work
my_field = fields.Boolean(default=False)

清单依赖

'depends': ['base', 'sale', 'website', 'calendar','contacts', 'point_of_sale', 'base_automation'],

4 个答案:

答案 0 :(得分:4)

FOR r LOOP
....
END LOOP;

注意:在自定义模块的清单中将'base'作为依赖项。

答案 1 :(得分:2)

看起来像个错误。以下是可能的解决方法:

在依赖项和“ base”中添加“ res”,然后重新启动odoo实例。

在确认字段已更新后;从依赖项中删除“ res”,然后升级模块。

此行为在8.0以上的Odoo版本上存在

答案 2 :(得分:0)

我这样做是为了解决

  1. 在xml文件中注释您的自定义字段
  2. 在清单中添加单位“ base”,“ res”
  3. 重新启动odoo
  4. 删除“ res”,“ base”
  5. 升级您的自定义模块
  6. 确保要在模型中添加要继承的新字段
  7. 取消注释xml文件中的字段
  8. 升级您的自定义模块

Odoo 10

答案 3 :(得分:0)

更新:

一个好的解决方案是将模型继承为新模型,我认为这也是官方的解决方案:

Class ResPartner(models.model):
    _name = 'res.partner'
    _inherit = 'res.partner'

    my_field = fields.Char()