在Django中为模型添加了另一列,如何更新数据库?

时间:2017-10-23 20:14:17

标签: django python-3.x django-rest-framework

所以我更改了名称并在django中为模型添加了一列。

在:

class MyApp(models.Model):
    id = models.AutoField(primary_key=True)
    aaa = models.CharField(max_length=100)
    bbb = models.CharField(max_length=100)

后:

class MyApp(models.Model):
    id = models.AutoField(primary_key=True)
    first = models.CharField(max_length=100)
    second = models.CharField(max_length=100)
    third = models.CharField(max_length=100)

我在MyApp的视图,模型和序列化程序中进行了这些更改,但是当我尝试访问新的API端点时,它失败了,因为数据库不包含新的列名。如何更新数据库以反映我的新模型? (我不关心这个模型的任何数据,所以我可以擦除它)。不知道怎么做

1 个答案:

答案 0 :(得分:1)

确保运行命令

python manage.py makemigrations appname

python manage.py migrate appname

如果表已存在运行命令

python manage.py migrate --fake appname

当我拥有它时解决了这个问题。 https://docs.djangoproject.com/en/1.11/topics/migrations/#initial-migrations