无法序列化 <type 'datetime.date'> 对象

2 投票
2 回答
5299 浏览
提问于 2025-04-18 05:07

我正在尝试把记录从Django(前端)保存到openerp(后端)。我使用的是openerp的web服务,采用xmlrpclib这个库。对于普通的字符串和数字数据,这个方法运行得很好,但当我尝试传递日期字段时,就出现了错误。错误信息是cannot marshal <type 'datetime.date'> objects

请帮帮我……

2 个回答

-1

另外,你可以在发送回复之前,把 datetime.date() 转换成 datetime.datetime()

3

要解决 cannot marshal <type 'datetime.date'> objects 这个错误,首先需要把日期转换成 ISO 8601 格式,然后把它作为一个对象传给 xmlrpclib

举个例子:

    dob = form.date_of_birth
    xmlrpc_dob = dob.strftime("%Y%m%dT%H:%M:%S")

想了解更多细节,可以查看 官方的 Python 文档关于 xmlrpclib 的说明

撰写回答