1

/admin/delmarva/event/ 处的 DatabaseError 没有这样的列:delmarva_event.eventdate

我在我的models.py文件中创建了一个类:

from django.db import models
from django.contrib.auth.models import User

class Event(models.Model):
    eventname = models.CharField(max_length = 100)
    eventdate = models.DateField()
    eventtime = models.TimeField()
    address = models.CharField(max_length = 200)
    user = models.ForeignKey(User)

    def __unicode__(self):
        return self.eventname

现在,当我尝试在我的管理员或我的 main_page 中查看我的事件时,它给了我没有事件日期的错误。我尝试再次同步数据库,但没有任何改变。此外,我将 eventdate 标记为 out 以查看是否收到不同的错误,然后它指出delmarva_event.eventtime也不存在。I 这很奇怪,因为它没有 eventname 的问题。任何建议将不胜感激!

4

3 回答 3

3

如果修改模型,syncdb则不起作用。您需要一个名为south的第三方工具 来为您管理这些“迁移”。

如果不是, - 另一种 - NON PREFERRED 方法是删除表并再次创建它

于 2012-12-10T21:41:06.640 回答
1

问题可能是您执行了 syncdb 然后添加了 eventdate 列。Syncdb 只创建一次表,不再更新它们。您将需要使用 South 应用程序并进行迁移或删除表,然后再次使用 syncdb。

于 2012-12-10T21:42:45.617 回答
0

一个快速的解决方案是删除数据库,然后再次运行 syncdb。它应该与您的 manage.py 文件位于同一目录中。

于 2012-12-10T21:49:19.350 回答