Python 无法返回日期字段和时间字段值的字符串形式

Python 无法返回日期字段和时间字段值的字符串形式,python,django,Python,Django,我的模型类中有models.DateField和models.TimeField字段。我想以字符串形式从_unicode__;方法返回日期字段的值。当我这样做时,我得到一个错误:TypeError:unsupported operation type for+:'datetime.date'和'str'。以下是我的模型类代码: class Appointment(models.Model): apDate = models.DateField() apTime = models.

我的模型类中有models.DateField和models.TimeField字段。我想以字符串形式从_unicode__;方法返回日期字段的值。当我这样做时,我得到一个错误:TypeError:unsupported operation type for+:'datetime.date'和'str'。以下是我的模型类代码:

class Appointment(models.Model):
    apDate = models.DateField()
    apTime = models.TimeField()

    def __unicode__(self):
        return self.apDate.strftime('%d-%m-%Y')
以下是完整的堆栈跟踪:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Python27\lib\site-packages\django\db\models\base.py", line 430, in __str__
    return force_text(self).encode('utf-8')
  File "C:\Python27\lib\site-packages\django\utils\encoding.py", line 100, in force_text
    s = s.__unicode__()
  File "C:\RAKESH\djangowork\mysite\books\models.py", line 52, in __unicode__
    return self.apDate.strftime('%d-%m-%Y')
TypeError: unsupported operand type(s) for +: 'datetime.date' and 'str'
请帮我解决这个问题。如何正确返回日期字符串

谢谢,
Rakesh.

如评论中所述,看起来控制台会话仍然记得以前的代码,即使实际代码已经更改。我不得不重新启动shell以查看更改。

除非。。。您在Python控制台中,以前在_unicode__方法中有不同的代码,它执行类似于return self.apDate+之类的操作,并且在更新代码后您还没有重新启动控制台。。。然后,回溯显示第52行的源代码,因为它当前在磁盘上,即使控制台实际运行的是导入时的旧版本的代码。感谢@Anentropic指出它。控制台会话似乎仍然记得连接操作。