Renaming models(tables) in Django
所以我已经在Django为我的数据库创建了模型,但现在想重命名这个模型。我已经更改了元类中的名称,然后进行迁移/迁移,但这只是创建了全新的表。
我也尝试过模式迁移,但也没有成功,我使用的是django 1.7。
这是我的模型
1 2 3 4 5 6 7 8 | class ResultType(models.Model): name = models.CharField(max_length=150) ut = models.DateTimeField(default=datetime.now) class Meta: db_table = u'result_type' def __unicode__(self): return self.name |
干杯
Django不知道,你想做什么。默认情况下,它将删除旧表并创建新表。您需要创建一个空迁移,然后使用此操作(您需要自己编写它):
https://docs.djangoproject.com/en/stable/ref/migration operations/renamemodel
像这样:
1 2 3 4 5 6 7 8 9 | class Migration(migrations.Migration): dependencies = [ ('yourappname', '0001_initial'), ] operations = [ migrations.RenameModel("OldName","NewName") ] |