Python 未找到相关字段odoo 8的参考id

Python 未找到相关字段odoo 8的参考id,python,python-2.7,openerp,odoo-8,Python,Python 2.7,Openerp,Odoo 8,我试图将多个字段关联到另一个多个字段,但返回错误 我使用的创建方法无效,我尝试了 jounral = field.Many2one('erp.journal', related="journal_item.journal 已工作,但在升级数据库时收到错误 找不到journal.entries的参考字段journal\u id 这是我的密码 class JournalItem(models.Model): _name = 'journal.item' name = fields.Char()

我试图将多个字段关联到另一个多个字段,但返回错误

我使用的创建方法无效,我尝试了

jounral = field.Many2one('erp.journal', related="journal_item.journal 
已工作,但在升级数据库时收到错误

找不到journal.entries的参考字段journal\u id

这是我的密码

class JournalItem(models.Model):
_name = 'journal.item'

name = fields.Char()
journal = fields.Many2one('erp.journal')
entries = fields.One2many('journal.entries', 'journal_item')


class JournalEntries(models.Model):
    _name = 'journal.entries'

    #record Created but didn't work
    @api.model
    def create(self, vals):
        vals['journal_id'] = self.journal_item.journal
        return super(JournalEntries, self).create(vals)

    #Error NoneType object has no attribute 'id'
    @api.model
    def create(self, vals):
        for x in self:
            x.journal_id = x.journal_item.journal
            return super(JournalEntries, self).create(vals)

    journal_item = fields.Many2one('journal.item')
    journal_id = fields.Many2one('erp.journal')

首先,您需要了解@apidecorators的用法,在使用时应该实现哪些decorators

@api.model没有任何记录集列表,因此无法循环使用它

您可以通过定义关系字段轻松实现这一点

class JournalEntries(models.Model):
    _name = 'journal.entries'

    journal_item = fields.Many2one('journal.item')
    journal_id = fields.Many2one(comodel_name='erp.journal', related='journal_item.journal', string='Journal', readonly=True)

如前所述,我尝试了这种方法,但在升级模块时,我收到错误消息(找不到“journal.entries”的参考字段“journal\u id”),请首先注释掉创建方法代码,升级模块并将有问题的日志粘贴到init.py文件中。错误似乎只出现在create方法中。