如何查看django sqlite3 db的数据库和模式

时间:2017-02-14 13:44:57

标签: python django sqlite

我是django框架的新手。

我尝试按照djangogirls教程创建一个简单的博客。

默认情况下,我们将sqlite3作为默认数据库引擎

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

我还尝试了一些ORM queries,偶数performed some row sql queries

在我的django项目中,我有 db.sqlite3 文件

blog  db.sqlite3  env  manage.py  mysite

我的问题:如何知道django在这个db.sqlite3中创建的模式(我知道mysql,我可以看到每个数据库和表的详细信息,所以在这里我只想了解更多的东西在sqlite)

我的系统中有sqlite3,我尝试过.database命令,但它只显示了我

seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main 

4 个答案:

答案 0 :(得分:29)

转到数据库所在的文件夹,然后

redis

然后

sqlite3  db.sqlite3

或     .schema

取决于你想要的。而不是直接调用sqlite3,你可以做

.tables

然后键入sqlite命令。

答案 1 :(得分:2)

您可以使用以下命令获取创建的数据库的sql脚本。

python manage.py sqlmigrate app_label migration_name

答案 2 :(得分:2)

我已经徘徊了一个小时,目的是在Django shell中复制DESCRIBE表,并认为我已经破解了它。 我希望这对其他人有用。

在终端中-输入以下命令。

python3 manage.py dbshell
.tables

找到要查找的表的名称,然后运行以下命令:

.header on
.mode column
pragma table_info('table you are looking for');

不要忘记最后一条指令中的分号。

答案 3 :(得分:0)

您可以在线查看db.sqlite文件。
   sqlite Online

只需将文件上传到那里,您就可以看到db.sqlite文件中的表。