10

所以我已经在 Django 中为我的数据库创建了模型,但现在想重命名模型。我已经更改了 Meta 类中的名称,然后进行迁移/迁移,但这只会创建全新的表。

我也尝试过架构迁移但也没有工作,我使用的是 Django 1.7

这是我的模型

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

干杯

4

1 回答 1

25

Django 不知道,你想要做什么。默认情况下,它将删除旧表并创建新表。需要创建一个空的migration,然后使用这个操作(需要自己写):

https://docs.djangoproject.com/en/stable/ref/migration-operations/#renamemodel

像这样的东西:

from django.db import migrations

class Migration(migrations.Migration):

    dependencies = [
        ('yourappname', '0001_initial'),
    ]

    operations = [
        migrations.RenameModel("OldName", "NewName")
    ]
于 2014-11-27T16:28:59.720 回答