Django用Mysql返回没有datetimefield

时间:2015-09-21 16:35:36

标签: python mysql django ubuntu

我有这个型号:

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)

我正在使用MySQL 5.6.21在Mac OS x上工作,一切正常,当我得到一个查询,询问响应的开始或结束时间。

  
    
      来自Artico.models的

导入CalendarEvent

             

q = CalendarEvent.objects.get(id = 90)

             

打印q.start

             

2015-09-14 01:50:08 + 00:00

    
  

然后我将我的应用程序上传到亚马逊上的ubuntu实例。这个实例有Mysql 5.6.19和Django 1.8.3

我在Mysql上有相同的数据并在查询中得到这个:

  
    
      来自Artico.models的

导入CalendarEvent

             

q = CalendarEvent.objects.get(id = 90)

             

打印q.start

             

             

打印q.title

             

El titulo

    
  

然后我的问题是为什么会出现这个问题?如果我在我的电脑和亚马逊实例上有相同的代码,我有什么不好?是mysql的版本吗?

由于

2 个答案:

答案 0 :(得分:1)

我认为因为django在DB中创建了日期时间(6)而不是datetime。您可以将列更改为datetime。

ALTER TABLE `my_table` 
MODIFY COLUMN `created` datetime NOT NULL

请参阅:DateTimeField queryset returning None in Django

答案 1 :(得分:0)

删除数据库架构,重新创建它。并从WINDOWS机器而不是mac重新迁移它。