【发布时间】:2020-05-22 12:15:52
【问题描述】:
我正在 Odoo 上制作一个模块,用于从邮件列表发送短信。 我已经运行了这段代码,但我有一个错误。
contact_list_ids = fields.Many2many('mail.mass_mailing.list', 'phone_number', string='Liste de diffusion')
messages_sms = fields.Text(string="message", required=True)
# send SMS with GET method
@api.multi
def send_sms(self):
for list in self.contact_list_ids:
for contact in list:
final_url = (
URL +
'&to=' +contact +
'&sms=' + self.messages_sms
)
r = requests.get(final_url)
if not r:
return ERROR_API
return r.text
错误:
文件“c:\program files (x86)\odoo 12.0\server\addons\KeoMarketing\models\messages_sms.py”,第 36 行,在 send_sms '&sms=' + self.messages_sms TypeError: 必须是 str,而不是 mail.mass_mailing.list
【问题讨论】:
-
你在哪一行得到这个错误?
-
在这一行:'&sms=' + self.messages_sms
-
错误提示 self.message_sms 是一个列表,而不是单个 str 值。试试
print(type(self.messages_sms))看看这是不是真的。确保 self.messages_sms 是一个 str 而不是一个列表... -
是的。我认为导致错误的原因是我的 many2many 字段