diff --git a/.gitignore b/.gitignore
index 3705dd8a5180b4bdb017e7406ab9f8027473a10d..68db616e71697c6ea037a8f74ebfdd09598f610f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@ steering/site_media/__sized__/*
 steering/cache/*
 steering/mysql.cnf
 steering/postgresql.cnf
+steering_data_model.png
 venv/
 python/
 .env
diff --git a/README.rst b/README.rst
index fab0ef9a64e5be7649e8d4a456206cde1b8056a9..55d3e5338b34669fd638563fe597c6e368cf3df2 100644
--- a/README.rst
+++ b/README.rst
@@ -115,3 +115,17 @@ Finally, you can start the development server::
 
     (venv) $ ./manage.py runserver
 
+Data Model
+----------
+
+You can generate a visualization of the data model using the Django extensions.
+
+First, install GraphViz globally:
+
+    apt-get install graphviz
+
+Then, run following to generate an image out of the models:
+
+    (venv) $  manage.py graph_models --pydot -a -g -o steering_data_model.png
+
+
diff --git a/requirements.txt b/requirements.txt
index 99b8a81f6c9554d9e160db81ba7bfc1244ef19ae..565d1ca4886d5c9ac2accdda3e8310456348b2eb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,6 +5,7 @@ charset-normalizer==2.0.12
 Django==3.2.13
 django-cors-headers==3.11.0
 django-environ==0.8.1
+django-extensions==3.1.5
 django-filter==21.1
 django-oidc-provider==0.7.0
 django-versatileimagefield==2.2
@@ -25,6 +26,7 @@ pre-commit==2.18.1
 psycopg2-binary==2.9.3
 py==1.11.0
 pycryptodomex==3.14.1
+pydotplus==2.0.2
 pyjwkest==1.4.2
 pyparsing==3.0.8
 pytest==7.1.1
diff --git a/steering/settings.py b/steering/settings.py
index 2e9cbe36167169889b14894dc98d1aa29aa5c3e7..2c91e907eb92bf2d315163057f3df0f3ba8e2360 100644
--- a/steering/settings.py
+++ b/steering/settings.py
@@ -144,6 +144,7 @@ INSTALLED_APPS = (
     "rest_framework",
     "rest_framework_nested",
     "django_filters",
+    "django_extensions",
     "drf_spectacular",
     "oidc_provider",
     "corsheaders",