预期单例:sezonekip() 错误 pycharm
Expected singleton: sezonekip() error pycharm
这是我的代码,我遇到了单例错误。我正在尝试建立一个足球数据库,并在此功能中尝试根据比赛结果更新球队的位置。
@api.multi
@api.depends('gola_home', 'gola_away')
def perditeso_piket(self):
for record in self:
if record.gola_home > record.gola_away:
self.sezonekip_home_id.fitore += 1
self.sezonekip_away_id.humbje += 1
elif record.gola_home == record.gola_away:
self.sezonekip_home_id.barazime += 1
self.sezonekip_away_id.barazime+=1
else:
self.sezonekip_home_id.humbje += 1
self.sezonekip_away_id.fitore+=1
你 using/programming 对了一半。循环 self
是安全的方法,因为它可能是一个多记录记录集。但是您稍后在增量中错过了使用 record
。
这些增量只不过是为字段设置一个新值。但是如果 self
是多记录记录集(不是单记录记录集,称为单例)Odoo 不允许直接 write/update。因此,只需在增量中将 self
替换为 record
:
@api.depends('gola_home', 'gola_away')
def perditeso_piket(self):
for record in self:
if record.gola_home > record.gola_away:
record.sezonekip_home_id.fitore += 1
record.sezonekip_away_id.humbje += 1
elif record.gola_home == record.gola_away:
record.sezonekip_home_id.barazime += 1
record.sezonekip_away_id.barazime+=1
else:
record.sezonekip_home_id.humbje += 1
record.sezonekip_away_id.fitore+=1
经常发生的错误。
当您想更改记录时,它会像您一样循环到自身,但所有其他字段也必须记录在案
例子
def method(self):
for record in self:
record.first_name = "Mark"
record.last_name = "White"
这允许编辑该特定记录。比如当前注册表
这是我的代码,我遇到了单例错误。我正在尝试建立一个足球数据库,并在此功能中尝试根据比赛结果更新球队的位置。
@api.multi
@api.depends('gola_home', 'gola_away')
def perditeso_piket(self):
for record in self:
if record.gola_home > record.gola_away:
self.sezonekip_home_id.fitore += 1
self.sezonekip_away_id.humbje += 1
elif record.gola_home == record.gola_away:
self.sezonekip_home_id.barazime += 1
self.sezonekip_away_id.barazime+=1
else:
self.sezonekip_home_id.humbje += 1
self.sezonekip_away_id.fitore+=1
你 using/programming 对了一半。循环 self
是安全的方法,因为它可能是一个多记录记录集。但是您稍后在增量中错过了使用 record
。
这些增量只不过是为字段设置一个新值。但是如果 self
是多记录记录集(不是单记录记录集,称为单例)Odoo 不允许直接 write/update。因此,只需在增量中将 self
替换为 record
:
@api.depends('gola_home', 'gola_away')
def perditeso_piket(self):
for record in self:
if record.gola_home > record.gola_away:
record.sezonekip_home_id.fitore += 1
record.sezonekip_away_id.humbje += 1
elif record.gola_home == record.gola_away:
record.sezonekip_home_id.barazime += 1
record.sezonekip_away_id.barazime+=1
else:
record.sezonekip_home_id.humbje += 1
record.sezonekip_away_id.fitore+=1
经常发生的错误。 当您想更改记录时,它会像您一样循环到自身,但所有其他字段也必须记录在案 例子
def method(self):
for record in self:
record.first_name = "Mark"
record.last_name = "White"
这允许编辑该特定记录。比如当前注册表