Django数据库错误

时间:2012-12-27 04:05:31

标签: django

过去一小时我一直试图解决这个问题,但我不知道自己遗漏了什么。这是第一次没有以前数据的项目。但是,当我尝试通过管理面板添加数据时,我收到以下错误:

DatabaseError at /admin/judge/event/

relation "judge_event" does not exist
LINE 1: SELECT COUNT(*) FROM "judge_event"
                             ^

Request Method:     GET
Request URL:    http://127.0.0.1:8012/admin/judge/event/
Django Version:     1.4.3
Exception Type:     DatabaseError
Exception Value:    

relation "judge_event" does not exist
LINE 1: SELECT COUNT(*) FROM "judge_event"

我的模型供参考:

class Event(models.Model):
    competition_start = models.DateTimeField() 
    competitors = models.ManyToManyField('Picture')
    results = models.CommaSeparatedIntegerField(max_length=20)

class Picture(models.Model):
    uploader = models.ForeignKey(UserProfile)
    upload_date = models.DateTimeField()
    image = models.ImageField(upload_to="media")
    score = models.DecimalField(max_digits=10,decimal_places=10)
    score_RD = models.DecimalField(max_digits=10,decimal_places=10)
    rated = models.BooleanField()
    last_competed = models.DateTimeField() 
    competition = models.OneToOneField(Event) 

我检查了所有笔记,并没有注意到我做了不同的事情。

“judge_event”应该是“judge_Event”吗?

1 个答案:

答案 0 :(得分:2)

您对破坏性的模型进行了更改(例如添加外键)。 syncdb不会对架构进行任何破坏性更改。

因此,您需要删除表,然后执行syncdb以便正确应用新架构。

有些应用程序支持此类更改称为迁移

其中最受欢迎的是south。一旦你对django更熟悉,你就可以开始使用了它。