数据库错误django

时间:2012-12-10 21:37:59

标签: python database django class

  

/ 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。我尝试再次同步数据库但没有改变。此外,我标记了eventdate以查看是否出现了不同的错误,然后它表明delmarva_event.eventtime也不存在。我很奇怪,因为它没有eventname的问题。任何建议将不胜感激!

3 个答案:

答案 0 :(得分:3)

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

如果没有, - 另一个 - NON PREFERRED方法是删除表并再次创建

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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