1

向所有 Odoo 开发者致敬!

我目前正在尝试将插件从 Odoo 13 迁移到 15。我的插件在 Odoo 13 中运行良好,因此我试图了解在 Odoo 15 中进行了哪些更改以升级我的模块。

我得到的第一个错误如下:

Field selection_mobile_tablet referenced in related field definition devices.inuse.selection_mobile_tablet does not exist.

对于代码:


devices_in_use_ids = fields.One2many(
        'devices.inuse', 'contacts_addon_class_id', string="Secure APPS Versions")


class DevicesInUse(models.Model):
    _name = 'devices.inuse'
    _rec_name = 'devices_in_use'

    contacts_addon_class_id = fields.Many2one(
        'res.partner', string="Contacts Class")

    devices_in_use = fields.Many2one(
        'device.setup', string="Devices In Use", tracking=1)
    selection_mobile_tablet = fields.Selection(
        related='devices_in_use.selection_mobile_tablet', string="Mobile / Tablet", tracking=1)

似乎选择字段不起作用,有没有人在 Odoo 15 中进行过这种体验并弄清楚了?

谢谢。


更新:

我将上述代码注释掉,希望它能让我走得更远,但现在我得到一个我理解更少的错误。但也许有人可以帮助解决这个问题:

psycopg2.errors.InvalidTableDefinition: column "id" is in a primary key

4

2 回答 2

1

错误消息表明相关字段“devices_in_use.selection_mobile_tablet”,即名为 selection_mobile_tablet 的字段在模型“device.setup”中不存在。您能检查并确认该字段是否存在吗?

于 2021-12-14T11:39:39.097 回答
0

正如 Odoo Mates 在开始时所说的那样,您对“ devices_in_use.selection_mobile_tablet”有疑问。正如您所说,它位于另一个未迁移的模块中。所以我知道你依赖于另一个模块。

第一件事。所有的迁移都应该从依赖关系开始,如果他的依赖关系没有被迁移,你就不能迁移一个模块。

您现在面临的错误是由您的模块的错误实现引起的。表(因为有些字段“disapered”/commented)不一致。你评论了哪些台词?

恕我直言,您应该取消注释该代码并开始迁移依赖模块。

于 2021-12-15T06:40:19.710 回答