此 python 错误是由于语法错误还是特定于程序的错误

is this python error due to Syntax or program-specific error

这里 python 的新手,边学边学,因为我们的新 ERP 使用它。

我正在制作一个自定义警告,我已将以下输出放在一起;

'Check the Opportunity stage is at "Prospect-Quoted!"' + ('\n\n If this quote value is different from previous quotes, remember to also update the Opportunity value.' if any([i.id for i in obj.sale_order_ids]))

对于上下文,这是在针对 CRM 机会提出报价时,我想提醒用户更新已保存的机会值,如果有其他报价链接到此机会 (obj)正在呼叫中。

基于系统的动态值生成器,我确信 any([i.id for i in obj.sale_order_ids]) 部分是正确的,并且 if 语句的结构与系统中其他地方的其他语句相同,但是当尝试保存自定义警告 我收到一条错误消息

Cannot evaluate Warning. Error: unexpected EOF while parsing (, line 1)

更有经验的人可以告诉我,这是我的语法问题还是更可能是特定于程序的问题?

使用内联 if 执行此类语法时,您必须始终指定 else 语句:

str1 = 'Check the Opportunity stage is at "Prospect-Quoted!"'
str2 = '\n\n If this quote value is different from previous quotes, remember to also update the Opportunity value.'
result = str1 + (str2 if any([i.id for i in obj.sale_order_ids]) else "")