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.
- 01
Frequent breaking changes between versions
v1.4 to v2.0 migration required significant adjustments in permission handling logic
- 02
Limited documentation for advanced use cases
Official documentation lacks examples for complex scenarios like custom user models and inheritance
- 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.