← All schemas
Schema Library

Django Auth Database Schema Diagram

Django's built-in auth app creates a set of authentication tables when you run migrate: auth_user, auth_group, auth_permission, plus the many-to-many join tables auth_user_groups, auth_user_user_permissions, and auth_group_permissions. This diagram maps the full schema - including how permissions link to content types through django_content_type, and how admin actions are logged in django_admin_log.

Last updated: 2026-08-03

Tables
9
Core table
auth_user
Join tables
3
Mini Map

Tables in the Django schema

ColumnTypeNullableKey
auth_user
idintegerNoPK
passwordvarchar(128)No-
last_logintimestampYes-
is_superuserbooleanNo-
usernamevarchar(150)No-
first_namevarchar(150)No-
last_namevarchar(150)No-
emailvarchar(254)Yes-
is_staffbooleanNo-
is_activebooleanNo-
date_joinedtimestampNo-
auth_group
idintegerNoPK
namevarchar(150)No-
auth_permission
idintegerNoPK
namevarchar(255)No-
content_type_idintegerNo-
codenamevarchar(100)No-
auth_user_groups
idintegerNoPK
user_idintegerNo-
group_idintegerNo-
auth_user_user_permissions
idintegerNoPK
user_idintegerNo-
permission_idintegerNo-
auth_group_permissions
idintegerNoPK
group_idintegerNo-
permission_idintegerNo-
django_content_type
idintegerNoPK
app_labelvarchar(100)No-
modelvarchar(100)No-
django_admin_log
idintegerNoPK
action_timetimestampNo-
object_idtextYes-
object_reprvarchar(200)No-
action_flagsmallintNo-
change_messagetextNo-
content_type_idintegerYes-
user_idintegerNo-
django_session
session_keyvarchar(40)NoPK
session_datatextNo-
expire_datetimestampNo-

Frequently asked questions

What tables does Django auth create?

Django's auth app creates auth_user, auth_group, auth_permission, and three many-to-many join tables: auth_user_groups, auth_user_user_permissions, and auth_group_permissions.

How do Django users relate to groups and permissions?

Users relate to groups through the auth_user_groups join table and to permissions through auth_user_user_permissions. Groups relate to permissions through auth_group_permissions. All three are many-to-many relationships.

Visualize your own database

Paste your PostgreSQL connection string and get an interactive ER diagram of your own schema in under 10 seconds. No signup required.

Try it free →