【问题标题】:odoo 13: inverse name in comodelodoo 13:comodel 中的反名
【发布时间】:2023-03-25 16:21:01
【问题描述】:

我对 odoo 完全陌生,但我遇到了这个问题: 我有一个名为“comite 技术”的模块,该模块在其他模块上有一个带有“promoteurs”模型的 one2many 字段,因此当我添加 many2one 字段时,我必须在“promoteurs”模型中添加一个 many2one 字段以使其工作,促销员工作得很好,这是促销员模块中models.py的代码:

class promoteurinitiative(models.Model):
    _name = 'initiative.promoteur'
    _rec_name = 'prenom'

    civilite = fields.Many2one('res.partner.title')
    nom = fields.Char(string="Nom", required=True)
    prenom = fields.Char(string="Prénom", required=True)
    date = fields.Date(string="Date de naissance", required=True)
    email = fields.Char()
    country_id = fields.Many2one('res.country', string='Country', ondelete='restrict')
    tel = fields.Char(string="Tél", required=True)
    contract_count = fields.Integer()
    comite_id = fields.Many2one('initiative.comitetechnique', string="Comité technique")

但是,每当我在“comite 技术”中添加 one2many 字段,更改其视图,重新启动 odoo 服务器并尝试升级模块时,我都会收到此错误: 这是“comite技术”模块的models.py中的代码:

import calendar


class comitetechniqueinitiative(models.Model):
    _name = 'initiative.comitetechnique'
    _rec_name = 'date'
    _description = 'comitetechniqueinitiative'

    date = fields.Date(default=fields.Date.today, string="Date de la comité technique", required=True)
    jour = fields.Char( string='Jour')
    pro = fields.One2many('initiative.promoteur','comite_id')


    @api.onchange('date')
    def _get_day_of_date(self):
        for r in self:
            if r.date :
                selected = fields.Datetime.from_string(r.date)
                r.jour = calendar.day_name[selected.weekday()]

如果您能帮助找到解决此问题的方法,我将不胜感激

【问题讨论】:

  • 两个模型是否定义在同一个模块中?如果是这样,他们的 Python 文件是否由其文件夹的 __init__.py 加载,而他们的文件夹是否由根 __init__.py 加载?

标签: python odoo-13


【解决方案1】:

通过使用继承和在 manfiest 文件中添加依赖项解决了问题。 在“comite 技术”模块的 models.py 中:

class comitetechniqueinitiative(models.Model):
    _name = 'initiative.comitetechnique'
    _rec_name = 'date'
    _description = 'comitetechniqueinitiative anwar'

    date = fields.Date(default=fields.Date.today, string="Date du comité technique", required=True)
    jour = fields.Selection([('lundi', 'Lundi'), ('mardi', 'Mardi'), ('mercredi', 'Mercredi'), ('jeudi', 'Jeudi'),('vendredi','Vendredi'),('samedi','Samedi'),('dimanche','Dimanche')
                              ], string='Jour')
    promoteur = fields.One2many('initiative.promoteur','comite_id')

class promoteur(models.Model):

    _inherit = "initiative.promoteur"

    comite_id = fields.Many2one('initiative.comitetechnique', string="Comité technique")

并在同一模块的清单文件中添加对promoter模块的依赖:

  'depends': ['base','promoteurinitiative']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    相关资源
    最近更新 更多