AttributeError的:“NoneType”对象有没有属性“ID”

问题描述 投票:-2回答:1

我有这个功能应该做的是在一个领域(“牛”)时的形式被保存的顺序进行保存。这种形式是在sale.order.line模型。 enter image description here

niu = fields.Char(string="NIU", readonly=True)

    @api.model
    def create(self, vals):
        for rec in self:
            if rec.product_id.product_tmpl_id.type == 'product' and not rec.niu:
                if vals.get('niu') == ' ':
                    vals[u'niu'] = self.env['ir.sequence'].next_by_code('sale.order.line')
                result = super(SaleOrder, self).create(vals)
                return result

但是,当我点击保存按钮,Odoo显示我下面的错误:AttributeError的:“NoneType”对象有没有属性“ID”

这究竟是为什么?我能做什么?任何帮助表示赞赏。谢谢

python openerp odoo-9
1个回答
2
投票

因为你是为创建你不需要的for rec in self循环。你不必通过self物场的任何访问,这是目前空。您只需要使用vals。您需要更改的方法装饰:

@api.model
@api.returns('self', lambda value:value.id)
def create(self, vals):

我真的觉得你应该有Odoo basics读,这是不是你有,你可以回避阅读他们深深的......另外,看看account_invoice.py考虑模块的第一个问题,其表现出丰富的V8 API的

© www.soinside.com 2019 - 2024. All rights reserved.