# Show Permissions

synopsis:

  Show all permissions for Django models

## Introduction

The `show_permissions` management command lists all permissions for the models in your Django project. By default, it excludes built-in Django apps such as `admin`, `auth`, `contenttypes`, and `sessions`.

This command is useful to quickly inspect the permissions assigned to models, especially when customizing permission logic or managing role-based access.

## Basic Usage

    python manage.py show_permissions

This will output the list of permissions for models in all installed apps excluding built-in Django apps.

## Examples

Show permissions for specific apps and models:

    python manage.py show_permissions blog
    python manage.py show_permissions blog.Post

Show permissions including built-in Django apps:

    python manage.py show_permissions --all

Show permissions for only a specific app using the –app-label option:

    python manage.py show_permissions --app-label blog

## Options

- `--all` Include permissions for Django’s built-in apps (`admin`, `auth`, `contenttypes`, `sessions`).

- `--app-label <label>` Only show permissions for the specified app label.

- `app_label.model` (positional argument) Restrict output to specific model(s), optionally prefixed by app label.

- `--verbosity {0,1,2,3}` Set verbosity level (default: 1).

- `--settings <path>` Set a specific Django settings module.

- `--pythonpath <path>` Add a path to the Python module search path.

- `--traceback` Show full traceback on error.

- `--no-color` / `--force-color` Toggle colored output.

- `--skip-checks` Skip Django’s system checks.

## Conclusion

The `show_permissions` command is a handy tool for developers and administrators to audit or debug permission settings within their Django project.