无法返回DateField和TimeField字段值的字符串形式

时间:2014-11-20 14:17:47

标签: python django

我的模型类中有models.DateFieldmodels.TimeField个字段。我想从__unicode__方法返回日期字段的值作为字符串。当我这样做时,我收到一条错误TypeError: unsupported operand type(s) for +: 'datetime.date' and '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'

请帮我解决这个问题。如何正确返回日期字符串?

谢谢, 勒凯什。

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,即使实际代码已被更改,控制台会话仍然记得以前的代码。我只需要重新启动shell以查看更改。