【发布时间】:2017-09-05 18:56:03
【问题描述】:
长话短说:当我安装 django 时,它附带了我过去删除的迁移。
这是我的工作:
$ mkvirtualenv foo
$ (foo) pip install django
Collecting django
Using cached Django-1.11.5-py2.py3-none-any.whl
Collecting pytz (from django)
Using cached pytz-2017.2-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-1.11.5 pytz-2017.2
现在,当我查看创建 venv 的目录时,我可以看到默认 django 应用程序(管理员、用户等)中的迁移。我还在一个全新的项目中看到了迁移。
这个问题是在我尝试重置迁移后开始的。我从每个应用程序中删除了迁移并删除了所有表。然后我删除了 venv 中的迁移,同时我不小心删除了一个 django 应用程序。丢失的应用程序迫使我卸载并安装 django。
即使我告诉 pip 不要使用缓存 --no-cache-dir,我仍然会得到迁移。
【问题讨论】:
-
很抱歉可能没抓住重点,但为什么 django 有迁移问题呢?
-
Django 从 1.7 开始默认使用迁移。因此,像 auth 这样的默认应用程序使用迁移来创建所需的表,例如 auth_user 和 auth_group。一个新的应用程序将有一个空的迁移文件夹,一旦你定义了你的模型,它就会在其中放置迁移。
标签: django virtualenv django-migrations virtualenvwrapper