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数据库文件所在目录

sqlitedir.png

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

sqlite0.png

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

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

上面的两行命令

python manage.py makemigrations
python manage.py migrate

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

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

这些表的代码来自这里.

auth0.png
auth1.png

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

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

最终效果

user1.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容