我正在研究供应商表单视图(合作伙伴模型)。 我尝试通过以下代码获取当前记录的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:预期单例:res.partner(1,50)”这很奇怪,因为50是我当前的记录ID,但我不知道为什么它也得到ID 1 。当我在pgAdmin中寻找它时,我发现1是“ company_id”。为什么当前记录(视图表单)有两个ID? 谢谢。
答案 0 :(得分:2)
您正在使用@api.multi
,因此self
可以是多个记录。
您可以尝试:
@api.multi
def get_current_id(self):
for instance in self:
instance.current_id = instance.id
或者:
@api.one
def get_current_id(self):
self.current_id = self.id