【发布时间】:2012-07-03 20:59:27
【问题描述】:
所以情况是这样的:我正在向我的事件表中添加一个新列(演示者)。我运行了alter table sql 语句,运行了python manage.py syncdb。我试图能够选择许多配置文件并将它们存储为演示者。为什么会这样?
Exception Type: DatabaseError
Exception Value: no such table: events_event_presenters
class Event(models.Model):
title = models.CharField(max_length=200)
presenters = models.ManyToManyField(Profile, null=True, blank=True) #new column
sub_heading = models.CharField(max_length=200)
description = models.TextField()
date = models.DateTimeField()
【问题讨论】:
-
我认为您的答案是here 基本上syncdb 将M2M 字段转换为桥接表,因为您的表已经创建syncdb 不会使您的应用程序期望的桥接表因此错误,解决方案使用South 或手动使表像同步数据库一样
-
@TomIngram:不妨把这个评论作为答案,因为它是答案。
-
感谢您的帮助。我假设您可以
DROP现有表并使用新列重新创建它?
标签: python django django-models