У
models.Index нашлось необычное применение: его подкласс можно добавить в Meta.indexes, чтобы Django включил объект в автоматически созданную миграцию. При её выполнении фреймворк получит SQL из методов create_sql и remove_sql. Так к схеме таблицы можно привязать, например, комментарии или триггеры.В django-security-label этот механизм задаёт правила анонимизации PostgreSQL прямо рядом с полями модели. Когда модель меняется, система миграций добавляет или удаляет соответствующие метки в схеме. Получается явно и рядом с предметной моделью, хотя автор прямо называет приём хаком.
Разбор механизма и пример с анонимизацией помогут оценить границы подхода. SQL из упрощённого примера копировать нельзя: он не экранирован должным образом.
