Python 错误列不存在';自定义模块Odoo上不存在

Python 错误列不存在';自定义模块Odoo上不存在,python,odoo-11,Python,Odoo 11,我正在处理一个自定义模块,我需要向res.partner模型添加字段。我已向该模型添加了一些字段,但从1周开始,当我尝试添加新字段时,出现以下错误: ERROR: column res_partner.my_field does not exist 其他领域工作良好,但不是这个领域: my_field = fields.Boolean(default=False) 我真的不明白我为什么会有这个问题。我尝试将“联系人”依赖项添加到我的模块中,它可以在我的本地版本上工作,但不能在我的在线veri

我正在处理一个自定义模块,我需要向res.partner模型添加字段。我已向该模型添加了一些字段,但从1周开始,当我尝试添加新字段时,出现以下错误:

ERROR: column res_partner.my_field does not exist
其他领域工作良好,但不是这个领域:

my_field = fields.Boolean(default=False)
我真的不明白我为什么会有这个问题。我尝试将“联系人”依赖项添加到我的模块中,它可以在我的本地版本上工作,但不能在我的在线verison上工作

如果有人知道这真的很好

谢谢你的帮助

编辑 合伙人类别

来自odoo导入api、字段和模型的

班级负责人(models.Model):
_继承='res.partner'
badge_id=fields.One2many('mymodule.badge','client_i
sub_id=fields.One2many('mymodule.subs','client_id'))
#不起作用的字段
my_field=fields.Boolean(默认值=False)
清单依赖项

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

注意:在自定义模块的清单中提供“base”作为依赖项。

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

将“res”添加到依赖项以及“base”,然后重新启动odoo实例

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

这种行为存在于8.0以上的Odoo版本中,我这样做是为了解决它

  • 注释xml文件中的自定义字段
  • 在您的清单中添加depands“base”、“res”
  • 重启奥多
  • 删除“res”、“base”
  • 升级自定义模块
  • 确保在要继承的模型中添加了新字段
  • 在xml文件中取消对字段的注释
  • 升级自定义模块
  • Odoo 10更新:

    一个很好的解决方案是将模型作为新模型继承,我假设这也是正式的解决方案:

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

    尝试使用界面(模块窗体)中的更新按钮更新
    基本
    模块或您自己的模块thak for your'r answer它正在工作,但我真的不明白为什么会发生这种情况。提示,您不需要向清单文件添加这么多依赖项。只添加依赖项树的叶模块作为您的答案,我已经将base作为依赖项(我想他是默认的)我继承了res.partner模型。我不明白为什么1个字段不起作用。你能在这里放更多的代码,这样我就可以给你解决方案了。我有一些代码,更新基本模块看起来很有效,但我真的不明白为什么会发生这种情况Hanks@kholioeg这对安装很有用,但我认为它可能干扰了卸载,现在当我卸载它时,列可能没有被删除,这可能吗?
    Class ResPartner(models.model):
        _name = 'res.partner'
        _inherit = 'res.partner'
    
        my_field = fields.Char()