我正在使用XCom在任务之间进行通信,但是我的代码无法正常工作。
根据教程,我的代码是:
def authenticate_api():
#Define the global variables
# API authentication
url = 'url'
db = 'db'
username = 'user'
password = 'test'
logging.info("Variables assigned")
common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(url))
common.version()
uid = common.authenticate(db, username, password, {})
models = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(url))
return db, uid, password, models
def get_max_date_from_odoo(**kwargs):
# Variables
ti = kwargs['ti']
models = ti.xcom_pull(task_ids= 'authenticate_api')
db = ti.xcom_pull(task_ids= 'authenticate_api')
uid = ti.xcom_pull(task_ids= 'authenticate_api')
password = ti.xcom_pull(task_ids= 'authenticate_api')
#Get the customer id and date to use in the query
datesandids = models.execute_kw(db, uid, password,
'res.partner', 'search_read',
[[['is_company', '=', False]]],
{'fields': ['x_customer_register_date', 'x_customer_id']})
#Itearte to take each id and customer register date
for index, item in enumerate(datesandids):
each_date = item['x_customer_register_date']
list.append(each_date)
#Get the minimum date from Odoo
max_date = max(list)
logging.info(max_date)
第一个函数给出错误:tuple index out of range
。
有什么提示吗?