我有这个模型
class Category(models.Model):
category_name= models.CharField(max_length=255)
sub_category_ID = models.IntegerField(null=True, blank=True)
def __unicode__(self):
return self.category_name
我已经在表中有数据,但我想将sub_category_ID
更改为不删除整个数据库。
class Category(models.Model):
category_name= models.CharField(max_length=255)
sub_category_ID = models.ForeignKey('self',null=True, blank=True)
def __unicode__(self):
return self.category_name
所以我在更改模型后运行syncdb,它给了我警告。
The following content types are stale and need to be deleted:
uTriga | event_event_category
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.`
我输入了是,现在收到错误
column app_category.sub_category_ID_id does not exist
列uTriga_category.sub_category_ID_id不存在
答案 0 :(得分:0)
默认情况下,Django syncdb机制不允许更改模型。必须删除并重新创建整个数据库。只能在两次同步运行之间添加新模型。
因此,您可能希望使用一些允许逐步演进数据库架构的“迁移”工具。使用一个恕我直言几乎总是一个好主意。
South是Django最着名的,到目前为止,我对此非常满意。