django框架使用-生成数据库表

前言

本篇简单介绍django中对数据库的操作.

create数据库表

上一篇中使用python manage.py runserver 8000运行django项目, 虽然项目成功运行, 但发现终端中有一些警告信息.
这些警告信息表示此项目有数据库结构的设计但是没有应用到数据库中.
下面先介绍两个命令.

python manage.py makemigrations
python manage.py migrate

控制台中分别执行这两行命令
控制台输出如下

bogon:HelloWorld zhaodan$ ls
HelloWorld      db.sqlite3      manage.py       mytest
bogon:HelloWorld zhaodan$ python manage.py makemigrations
No changes detected
bogon:HelloWorld zhaodan$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, sessions, contenttypes
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK
bogon:HelloWorld zhaodan$ open .

打开sqlite数据库文件所在目录

django框架使用-生成数据库表_第1张图片
sqlitedir.png

与iOS开发中一模一样的sqlite数据库文件..., 使用工具打开数据库文件.我使用的工具叫做 SQLite Professional,

django框架使用-生成数据库表_第2张图片
sqlite0.png

能够看到已经有了很多表.

我们一行代码都没有写, 这些这些表是从哪里来的?

上面的两行命令

python manage.py makemigrations
python manage.py migrate

是用来根据数据库定义的代码生成数据库定义语句并执行的.
python manage.py makemigrations 会检查数据库定义的代码是否正确.

django为我们提供了一套用户系统. 包含user, usergroup, permissions等常用部分.

这些表的代码来自这里.

django框架使用-生成数据库表_第3张图片
auth0.png
django框架使用-生成数据库表_第4张图片
auth1.png

仿照auth.models文件的内容 创建一个新表

django框架使用-生成数据库表_第5张图片
user0.png

修改settings.py 文件
INSTALLED_APPS中添加mytest模块

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mytest'
]

运行

python manage.py makemigrations
python manage.py migrate

最终效果

django框架使用-生成数据库表_第6张图片
user1.png

以后会介绍具体如何编写models.py文件中的各个表, 编写时有哪些注意事项, models.py 文件被映射到数据库后, 还能修改已经被映射过的字段吗?

你可能感兴趣的:(django框架使用-生成数据库表)