以下是发生错误的代码:
date_arrive = datetime.datetime.strptime(request.session.get('arrival'), '%m/%d/%Y'),\
date_depart = date_arrive + datetime.timedelta(days=request.session.get('nights')))).save()
每次Django到达此视图时,都会抛出错误:
Exception Value: coercing to Unicode: need string or buffer, datetime.timedelta found
此处到达是有效的日期时间对象,夜晚是整数。
答案 0 :(得分:1)
我建议你包括函数调用的完整列表。
似乎你尝试连接unicode和datatime对象,这是不可能的。您必须将date_arrive转换为datetime或将“datetime.timedelta(days = request.session.get('nights')”转换为unicode,具体取决于您的函数需要的类型为date_depart参数。
答案 1 :(得分:0)
您应该能够通过确保非整数/非字符串(如整数和日期时间对象)被str(your_date_object_here)包围来解决此问题。
当我在Django中遇到此错误时,我能够使用以下两种方法修复它:
def __str__(self):
return str(self.datetimeobject) + " other string return info"
和
def __str__(self):
return unicode(self.datetimeobject) + " other string return info"