Django 默认自动创建的表解读

177 阅读1分钟

Django 默认自动创建的表,用于支持它的认证系统、会话管理、后台管理等功能。

微信图片_20250528110241.png

下面是这些表的功能说明:


🔐 与认证和权限系统有关的表:

表名功能说明
auth_user存储用户账号信息(用户名、密码哈希、邮箱等)
auth_group用户组表(多个用户可属于同一组)
auth_permission权限表(Django 支持细粒度的权限控制)
auth_user_groups用户与组的多对多关系表
auth_user_user_permissions用户与权限的多对多关系表
auth_group_permissions用户组与权限的多对多关系表

📋 与 Django 后台管理功能相关:

表名功能说明
django_admin_log管理后台的操作日志(如谁做了什么修改)
django_content_type记录项目中所有的模型类型(Model 类型),用于通用关系
django_migrations记录已经执行过的迁移文件,防止重复执行
django_session保存用户的 session 数据
sqlite_sequenceSQLite 的内部表,用于自增字段的计数(主键 ID)

✅ 小结

这些都是 Django 初始化数据库后自动创建的系统表,特别是执行了以下命令之后:

python manage.py migrate

它会根据 INSTALLED_APPS 中默认包含的模块(如 django.contrib.auth, django.contrib.sessions, django.contrib.admin 等)自动创建这些表。


如果你添加了自己的模型,并执行了 makemigrationsmigrate,就会在这些系统表之外看到你自己的业务表。