Python 正在获取当前记录id

Python 正在获取当前记录id,python,xml,odoo,Python,Xml,Odoo,我正在研究供应商表单视图(res.partner模型)。 我已尝试使用以下代码获取当前记录的id: current_id=fields.Integer(compute='get_current_id') @api.multi def get_current_id(self): print self.id self.current_id=self.id 在这段代码中,我有一个错误:“ValueError:Expected singleton:res.partner(1,50)”,

我正在研究供应商表单视图(res.partner模型)。 我已尝试使用以下代码获取当前记录的id:

current_id=fields.Integer(compute='get_current_id')
@api.multi
def get_current_id(self):
    print self.id
    self.current_id=self.id
在这段代码中,我有一个错误:“ValueError:Expected singleton:res.partner(1,50)”,这很奇怪,因为50是我当前的记录id,但我不知道为什么它也会得到id 1。当我在pgAdmin中查找它时,我发现1是“公司id”。为什么当前记录(视图表单)有两个ID?
谢谢

您使用的是
@api.multi
,因此
self
可以是多条记录

您可以尝试:

@api.multi
def get_current_id(self):
    for instance in self:
        instance.current_id = instance.id
或:


我没有足够的上下文来理解你为什么感到困惑:在这个领域,“公司1,合作伙伴记录50”似乎是识别记录的合理方式。我无法调查,因为您未能提供此处的建议应用程序。如果所有这些都是由
odoo
上下文直接暗示的,我将把解决方案留给其他更熟悉它的人;如果没有,您需要让我们更容易帮助您。当我尝试使用“打印”时,它会给我两个id,分别为1和50(两次迭代),即使我处于id为“50”的供应商的表单视图中。我不知道为什么我也有身份证1!
@api.one
def get_current_id(self):
    self.current_id = self.id