Auth & Identity

django-guardian

Per-object permissions for Django applications

Status
Generally available
Last checked
Checked · Oct 7, 2026
License
Open source
Pricing
Free tier · from $0

What it is

django-guardian is a flexible per-object permission system for Django that allows developers to manage fine-grained access control in their web applications.

django-guardian stands out by offering a robust, flexible solution for managing per-object permissions in Django applications, providing developers with fine-grained control over access rights.

When it fits — and when it doesn’t

A good fit for

  • Projects requiring detailed permission management for individual objects

  • Applications where access control needs to be highly customizable per user and object

Look elsewhere if

  • Simple web apps with minimal security requirements

  • Non-Django projects or those using different frameworks without similar integration

Known weaknesses

Each one links to the public issue, changelog or docs page it came from, where we have one.

  1. 01

    Frequent breaking changes between versions

    v1.4 to v2.0 migration required significant adjustments in permission handling logic

  2. 02

    Limited documentation for advanced use cases

    Official documentation lacks examples for complex scenarios like custom user models and inheritance

  3. 03

    Performance overhead with large datasets

    Query performance degrades significantly when managing permissions on a large number of objects

What it does well

  • Per-object permissions for Django models

  • Integration with Django's authentication system

  • Supports both object-level and model-level permissions

Pricing

Free tier
YesOpen source — free to use
Paid from
$0
Model
Flat rate
Enterprise plan
No

Pricing not independently confirmed — check the vendor’s page.

Performance benchmarks

How Fast Is It?

Set up django-guardian

Setup steps, common gotchas and what to check after 30 days.

Open the setup guide →