Django与Oracle在模板中显示错误的日期

时间:2013-06-11 17:13:41

标签: django oracle django-templates

我遇到了一个问题,因为我正在从sqlite迁移到Oracle后端。在我的模板中,我使用内置的SHORT_DATE_FORMAT过滤器。使用sqlite,日期显示正确(例如,2012年9月21日)。作为后端移至Oracle,日期始终显示在数据库中日期的前一天(例如,2012年9月20日)。 Oracle数据显示21-SEP-12 12.00.00.000000 AM作为数据库中的值。我的模板显示如下数据:

    <td>{{ ec.effective_date|date:"SHORT_DATE_FORMAT" }}</td>

我是针对Oracle 11运行的。这是一个Django错误吗?如果是这样,我该如何举报?感谢。

1 个答案:

答案 0 :(得分:0)

如果其他人遇到此问题,则会发生这种情况,因为我使用的是DateTimeField模型字段。在Oracle中,这转换为时间戳,我猜Django将其转换为前一天。将我的模型字段更改为DateField,syncdb,现在所有内容都显示正确的日期,而Oracle使用的是Date列类型,而不是时间戳。