Python 奥多:一个2,多个21?KeyError:'___';

Python 奥多:一个2,多个21?KeyError:'___';,python,odoo,Python,Odoo,我正在尝试从头开始在odoo中构建一个模块。我已经定义了一些简单的类,但在尝试定义one2many/ManyOne字段并安装模块时,出现了一个错误: 文件“/opt/odoo/src/OCB12/odoo/fields.py”,第2492行,在 _设置\u常规\u已满 invf=comodel.\u字段[self.inverse\u name]键错误:“autor\u id” 如果我对出现问题的行进行评论,它不会在安装过程中抱怨。 但对我来说,这个领域似乎还不错;我已经检查了指南,找不到错误。我

我正在尝试从头开始在odoo中构建一个模块。我已经定义了一些简单的类,但在尝试定义one2many/ManyOne字段并安装模块时,出现了一个错误:

文件“/opt/odoo/src/OCB12/odoo/fields.py”,第2492行,在 _设置\u常规\u已满 invf=comodel.\u字段[self.inverse\u name]键错误:“autor\u id”

如果我对出现问题的行进行评论,它不会在安装过程中抱怨。 但对我来说,这个领域似乎还不错;我已经检查了指南,找不到错误。我怀疑我的问题可能在Odoo模块的其他地方(可能不是这样)

您可以在此处找到整个模块:
谢谢

您需要在引用
helados.repostro
模型的
manyOne类型的
model中定义反向字段名
autor\u id

autor\u id=fields.manyOne('helados.repostero'))

您已经在文件中重新定义了
helados.receta
模型,因此如果在定义反向字段之前,您将得到相同的错误。我想你忘了用
\u inherit
而不是
\u name

这正是发生的事情,非常感谢,我被卡住了
class helados_receta(models.Model):
    _name = 'helados.receta'
    _order = 'sabor desc, name'

    sabor = fields.Char('Sabor', required=True)
    data_alta = fields.Date('Data de alta')
    state = fields.Selection(
        [('desarrollo', 'Desarrollo'),
         ('experimental', 'Experimental'),
         ('producción', 'En producción')],
        'State', default="desarrollo")
    temperatura_celsius=fields.Float("Temperatura Conservación", required=True)
    receta = fields.Text("Receta", required=True)
    autor_id = fields.Many2one('helados.repostero', string='Autor')

    class helados_repostero(models.Model):
        _name = 'helados.repostero'
        _inherit = 'res.partner'
    
        helados_ids=fields.One2many('helados.receta', 'autor_id', string='Recetas')
        name=fields.Char("Nombre y apellidos", required=True)
        partner_id = fields.Many2one('res.partner', ondelete='cascade')
        local = fields.Char("Lugar de Trabajo", required=True)