Python 奥多:一个2,多个21?KeyError:'___';
我正在尝试从头开始在odoo中构建一个模块。我已经定义了一些简单的类,但在尝试定义one2many/ManyOne字段并安装模块时,出现了一个错误: 文件“/opt/odoo/src/OCB12/odoo/fields.py”,第2492行,在 _设置\u常规\u已满 invf=comodel.\u字段[self.inverse\u name]键错误:“autor\u id” 如果我对出现问题的行进行评论,它不会在安装过程中抱怨。 但对我来说,这个领域似乎还不错;我已经检查了指南,找不到错误。我怀疑我的问题可能在Odoo模块的其他地方(可能不是这样) 您可以在此处找到整个模块: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” 如果我对出现问题的行进行评论,它不会在安装过程中抱怨。 但对我来说,这个领域似乎还不错;我已经检查了指南,找不到错误。我
谢谢您需要在引用
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)