Python Django错误,强制使用Unicode:需要字符串或缓冲区,找到datetime.timedelta

Python Django错误,强制使用Unicode:需要字符串或缓冲区,找到datetime.timedelta,python,django,datetime,unicode,Python,Django,Datetime,Unicode,以下是发生错误的代码: 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 Unico

以下是发生错误的代码:

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

此处arrival是一个有效的datetime对象,nights是一个整数。

Id建议您包含函数调用的完整列表


似乎您尝试连接unicode和datatime对象,但这是不可能的。显然,您必须将date_Arrival转换为datetime或“datetime.timedelta(days=request.session.get('nights')”转换为unicode,具体取决于函数作为date_Deep参数所需的类型。

您应该能够通过确保非unicode/非字符串(如整数和datetime对象)被str包围来解决此问题(此处为您的日期对象)

当我在Django中遇到此错误时,我能够通过以下两种方法修复它:

def __str__(self): 
    return str(self.datetimeobject) + " other string return info"

def __str__(self):
    return unicode(self.datetimeobject) + " other string return info"