安装 django 也会创建迁移
Installing django also creates migrations
长话短说:当我安装 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 附带的默认应用程序需要这些迁移创建的表。
如果您不需要这些应用程序,请将它们从 settings.py
中的 INSTALLED_APPS
中删除。
长话短说:当我安装 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 附带的默认应用程序需要这些迁移创建的表。
如果您不需要这些应用程序,请将它们从 settings.py
中的 INSTALLED_APPS
中删除。