所以这就是情况:我添加一个新的列(演示者)到我的事件表。我跑了alter table
sql语句,跑了python manage.py syncdb
。我试图能够选择多个配置文件并将它们存储为演示者。这是为什么发生?DatabaseError没有这样的表与ManyToManyField
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()
我认为你的答案是[这里](HTTP:/ /stackoverflow.com/questions/3989717/django-adding-a-manytomany-field-table-to-existing-schema-related-name-error)基本上,syncdb会将M2M字段变成桥表,因为您的表已创建syncdb将不会使你的应用程序期望的桥表,因此错误,解决方案使用南或手动使表作为syncdb将 –
@TomIngram:不妨使该评论回答r,因为它*是答案。 –
谢谢你的帮助。我假设你可以“删除”现有的表格,然后用新列重新创建它? – Modelesq