Python 在odoo 10中,使用UI我无法获得我的;服务器操作+;“自动操作”;工作
我的任务中有“审阅者”字段,当任务从“进行中”阶段移动到“审阅”阶段时,我希望自动将审阅者与任务受让人切换。我的服务器操作中包含以下Python代码: 下面是指向我的自动操作设置图片的链接: 不幸的是,将任务阶段更改为“审阅”并不能得到预期的结果。有什么建议吗Python 在odoo 10中,使用UI我无法获得我的;服务器操作+;“自动操作”;工作,python,odoo-10,Python,Odoo 10,我的任务中有“审阅者”字段,当任务从“进行中”阶段移动到“审阅”阶段时,我希望自动将审阅者与任务受让人切换。我的服务器操作中包含以下Python代码: 下面是指向我的自动操作设置图片的链接: 不幸的是,将任务阶段更改为“审阅”并不能得到预期的结果。有什么建议吗 Kazu我猜您错误地调用了要获取的字段 # Instead of this a = self.res.users.reviewer_id.name b = self.res.users.user_id.name record['re
Kazu我猜您错误地调用了要获取的字段
# Instead of this
a = self.res.users.reviewer_id.name
b = self.res.users.user_id.name
record['res.users.user_id.name']=a
record['res.users.reviewer_id.name']=b
# Try this
# You don't need to update the name, you need to update the database ID reference
record['user_id'] = record.reviewer_id.id
record['reviewer_id'] = record.user_id.id
此外,你为什么不试着用一个代替呢
如果仍然存在问题,可以使用在方法中触发set\u trace
,从而更轻松地调试代码
def assignrev(self):
# Triggers a break in code so that you can debug
import ipdb; ipdb.set_trace()
for record in self:
# Test line by line with the terminal to see where your problem is
好的,我终于找到了答案。以下是Odoo 10上下文中的代码图片: 不需要“记录”的“定义”:代码将不会运行 我只是希望这会对其他人有所帮助
Kazu谢谢你的回答,travisw,问题是,正如你在图片中看到的,我使用的是动作服务器pyhton代码,这似乎是有限的。当我尝试“从odoo导入api”以使用onchange方法时,我得到了一个错误:在u。我觉得我只能使用精简版的python…而且,按照您的第一个建议更改语法也没有产生任何结果。不幸的是…我想我必须更多地研究Odoo的模块@ンドング一信我的答案实际上是假设您是用Python编程的,而不是直接在服务器操作上。服务器操作的方式必须有所不同。我将尝试更新我的答案,并提供详细信息。至少,您不需要任何
@api
调用,也不需要def…:
语句。你好,特拉维斯,新年快乐。服务器操作中的python语法有什么新的内容吗?这个问题仍然没有答案吗?我读到服务器操作python代码框中只能使用简单的python代码:多简单?我必须在语法中更改什么?关于这个主题的文档几乎没有。。。
@api.multi
def onchange_state(self):
for record in self:
if record.stage_id.name == 'Review':
record.update({
'user_id': record.reviewer_id.id,
'reviewer_id': record.user_id.id,
})
def assignrev(self):
# Triggers a break in code so that you can debug
import ipdb; ipdb.set_trace()
for record in self:
# Test line by line with the terminal to see where your problem is