🎯 django-rls — декларативный Row-Level Security для Django + PostgreSQL
Пакет от [kdpisda](https://github.com/kdpisda/django-rls), который позволяет удобно задавать политики Row-Level Security (RLS) прямо внутри моделей Django — с генерацией SQL-политик на этапе
🔐 Основные возможности:
- Объявление RLS-политик в моделях (через класс `RLS`)
- Автоматическая генерация SQL-политик при миграциях
- Поддержка многотенантности (tenant_id)
- Совместимость с Django ORM и PostgreSQL
📦 Пример использования:
📌 При makemigrations будут сгенерированы команды:
sql
CREATE POLICY tenant_isolation ON invoice
USING (customer_id = current_setting('myapp.tenant_id')::integer);
ALTER TABLE invoice ENABLE ROW LEVEL SECURITY;
🛠️ Установка:
bash
pip install django-rls
📚 Документация и исходники:
GitHub → github.com/kdpisda/django-rls
Идеально для: Django-проектов с многотенантной архитектурой и требованиями к безопасности на уровне данных.
Пакет от [kdpisda](https://github.com/kdpisda/django-rls), который позволяет удобно задавать политики Row-Level Security (RLS) прямо внутри моделей Django — с генерацией SQL-политик на этапе
makemigrations
.🔐 Основные возможности:
- Объявление RLS-политик в моделях (через класс `RLS`)
- Автоматическая генерация SQL-политик при миграциях
- Поддержка многотенантности (tenant_id)
- Совместимость с Django ORM и PostgreSQL
📦 Пример использования:
class Invoice(RLSModel):
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
class RLS:
policies = [
RLSPolicy(
name="tenant_isolation",
using="customer_id = current_setting('myapp.tenant_id')::integer"
)
]
📌 При makemigrations будут сгенерированы команды:
sql
CREATE POLICY tenant_isolation ON invoice
USING (customer_id = current_setting('myapp.tenant_id')::integer);
ALTER TABLE invoice ENABLE ROW LEVEL SECURITY;
🛠️ Установка:
bash
pip install django-rls
📚 Документация и исходники:
GitHub → github.com/kdpisda/django-rls
Идеально для: Django-проектов с многотенантной архитектурой и требованиями к безопасности на уровне данных.
🔍 Silk — мощный инструмент для профилирования Django-приложений в реальном времени. Этот open-source проект перехватывает HTTP-запросы, SQL-запросы и позволяет детально анализировать производительность вашего кода через удобный веб-интерфейс.
Инструмент обладает возможностью профилирования отдельных участков кода через декораторы и контекст-менеджеры. Инструмент особенно полезен при поиске узких мест в производительности, анализе сложных SQL-запросов и оптимизации времени отклика приложения.
🤖 GitHub
Инструмент обладает возможностью профилирования отдельных участков кода через декораторы и контекст-менеджеры. Инструмент особенно полезен при поиске узких мест в производительности, анализе сложных SQL-запросов и оптимизации времени отклика приложения.
🤖 GitHub