Python 如何使用Django DateTimeField';违约

Python 如何使用Django DateTimeField';违约,python,database,django,django-models,default,Python,Database,Django,Django Models,Default,我正在尝试使用datetime.datetime.now作为我的pub\u date列的默认值,但不断出现错误 DatabaseError:(1054,“字段列表”中的未知列“archive\u app.pub\u date”) 我只是在python manage.py shell中测试我的代码,所以我在获取错误时使用的行就是App.objects.all() 这是我的应用程序型号代码 import datetime from django.db import models class App

我正在尝试使用
datetime.datetime.now
作为我的
pub\u date
列的默认值,但不断出现错误

DatabaseError:(1054,“字段列表”中的未知列“archive\u app.pub\u date”)

我只是在
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)

当您运行
syncdb
时,是否在
App
上定义了
pub\u date


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

您是否运行了
syncdb
或使用了更新的架构?据我所知,您的默认设置没有问题,但您的数据库抱怨表中没有此类列。是的,在我的代码中添加发布日期后,我运行了
python manage.py syncdb
我的意思是,您首先只有两个字段
title
投票
,然后运行了syncdb。在同步之后,您随后添加了
pub_date
?在这种情况下,您需要运行迁移将第三列
pub_date
添加到表中<代码>同步数据库无法执行此任务
syncdb
仅读取
models.py
并查看是否存在某个不存在表的模型,然后在这种情况下创建表
syncdb
不会为您更改表。您需要使用
south
进行迁移。