我有这个模型:
class CalendarEvent(models.Model):
"""
Calendar Events
"""
CSS_CLASS_CHOICES = (
('', _('Normal')),
('event-warning', _('Warning')),
('event-info', _('Info')),
('event-success', _('Success')),
('event-inverse', _('Inverse')),
('event-special', _('Special')),
('event-important', _('Important')),
)
title = models.CharField(max_length=255, verbose_name=_('Título'))
comentario = models.TextField('Comentario', blank=True, null=True)
cliente = models.ForeignKey(Cliente, blank=True, verbose_name='Cliente' ,null=True)
empleado = models.ForeignKey(Empleado, blank=True, verbose_name='Empleado' ,null=True)
url = models.URLField(verbose_name=_('URL'), null=True, blank=True)
css_class = models.CharField(max_length=20, verbose_name=_('Tipo'),null=True, blank=True,choices=CSS_CLASS_CHOICES)
start = models.DateTimeField(verbose_name=_('Inicio'))
end = models.DateTimeField(verbose_name=_('Término'), null=True, blank=True)
我在 Mac OS X 上使用 MySQL 5.6.21 工作,一切正常,当我收到询问开始或结束时间的查询时,响应正常。
from Artico.models import CalendarEvent
q = CalendarEvent.objects.get(id=90)
print q.start
2015-09-14 01:50:08+00:00
然后我将我的应用程序上传到亚马逊上的 ubuntu 实例。此实例有 Mysql 5.6.19 和 Django 1.8.3
我在 Mysql 上有相同的数据并在查询中得到这个:
from Artico.models import CalendarEvent
q = CalendarEvent.objects.get(id=90)
print q.start
none
print q.title
El titulo
那么我的问题是为什么会出现这个问题?如果我的电脑和亚马逊实例上有相同的代码,我有什么不好?是mysql的版本?
谢谢
最佳答案
我认为是因为 django 在数据库中将列创建为 datetime(6) 而不是 datetime。您可以将列更改为日期时间。
ALTER TABLE `my_table`
MODIFY COLUMN `created` datetime NOT NULL
关于python - Django 使用 Mysql 返回无日期时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32700303/