[This question询问Django的安装位置。
[This question与表django_migrations
有关。
我已经在交互式控制台中的django命令的路径下找到了,我在其中找到子目录db
以及middleware
等
但是我不知道实际上该表django_migrations
(即其中的数据)保存在哪里。
我首先想知道,因为我想知道如果丢失这些数据会发生什么。我只是在学习Django,但我不太了解这会有多少问题。
到Django位置的路径在我的主文件夹中的目录下,我将Python虚拟环境保存在该目录中,该虚拟环境的名称以“。”开头。我倾向于从备份计划中排除此类目录...
在我的项目中刚刚删除了db.sqlite3,我发现当您执行migrate
时它会重新生成,并列出(在我目前的情况下)大约15个迁移操作。我对其中的一些感到非常迷惑:前10个左右似乎发生在我开始对models.py文件执行任何操作之前。是否在某处记录或说明了它们?
所有表都存在于您在settings.py
中配置的数据库中;默认情况下,这是项目目录中的SQLite数据库。
运行migrate
命令时,Django会从您已安装的所有apps(INSTALLED_APPS
中的settings.py
)收集所有迁移。默认情况下,其中包括django.contrib.auth
之类的内容,该内容定义与用户帐户相关的a bunch of migrations。这就是为您提供Django开箱即用的用户管理功能的原因。
如果您将默认的Django设置与sqlite一起使用,则有一个文件db.sqlite3
-这是您的数据库。
[当您说它正在“重新生成”时-它是通过迁移构建的。运行python manage.py migrate
时,您会看到从已安装的django应用程序进行的大量迁移,包括一些默认应用程序的迁移,例如django.contrib.auth
包含User
模型。
迁移存储在<app_name>/migrations
目录中。您可以签出一些默认迁移here,这是默认的auth迁移,但还有更多。