2013-04-27 71 views
0

我试图使用datetime.datetime.now作为我的pub_date列的默认值,但不断收到错误。如何使用Django DateTimeField的默认值

DatabaseError: (1054, "Unknown column 'archive_app.pub_date' in 'field list'")

我只是测试出我的代码在python manage.py shell这样得到的错误,当我使用的线路根本App.objects.all()

下面是应用

import datetime 
from django.db import models 

class App(models.Model): 
    title = models.CharField(max_length=200) 
    votes = models.IntegerField(default=0) 
    pub_date = models.DateTimeField('pub date', default=datetime.datetime.now) 
+1

您是否运行'syncdb'或使用[迁移工具](http://south.aeracode.org/)获取更新的模式? – 2013-04-27 07:58:35

+0

就我所见,您的默认值没有任何问题,但您的数据库抱怨表中没有这样的列。 – 2013-04-27 08:00:12

+0

@Hedde是的,我有。 – Crispy 2013-04-27 08:00:20

回答

1

当我的模型代码你跑syncdb,你有没有pub_date定义App

如果您在syncdb之后添加了它,那么您是否创建并运行迁移?

+0

是的,在我的代码中添加pub_date之后,我运行了'python manage.py syncdb' – Crispy 2013-04-27 08:13:50

+0

我的意思是你第一次只有两个字段'title'和'votes',然后运行syncdb。同步之后,您稍后添加了'pub_date'? – 2013-04-27 08:18:29

+0

^^是的,那是不好的? – Crispy 2013-04-27 08:30:13