我想将 Django 1.7 用于一个新项目。我已经有很多记录的数据库。
在许多 Django 教程中,它演示了如何从一个全新的项目中使用迁移系统。
在我的情况下,使用 django-admin startapptodo
并将使用一个名为notesnote
. 我使用 inspectdb 转储notesnote
类并将其写入todo/models.py
class NotesNote(models.Model):
title = models.CharField(max_length=100)
text = models.TextField()
pub_date = models.DateTimeField()
authors = models.CharField(max_length=10)
进而
python manage.py makemigrations todo
todo/migrations/0001_initial.py
然后生成
python manage.py migrate --fake todo
做一个假迁移(因为表已经存在)。
然后,如果我想修改表格的字段,说添加一个“类别”字段
category = models.CharField(max_length=30)
然后通过以下方式生成 0002 迁移差异:
python manage.py makemigrations todo
但是,当我进行迁移时
python manage.py migrate todo
我得到如下错误:
django.db.utils.OperationalError:没有这样的表:todo_notesnote
似乎它在现有表的前面添加了应用程序的名称。我应该执行哪些步骤来为现有表进行可用迁移?