“Desabilite” temporariamente todos os usuários no Django

-- Temporarily "disable" all users by changing their username

-- Choose and check if prefix exists (choose another if any matches found)
select count(1) from auth_user where username 'DIS_%';

-- "DISABLE" all users temporarily (be aware that long usernames would get truncated)
update auth_user
set username = concat('DIS_', username) where LENGTH(username) <= 25;

-- "ENABLE" affected users
update auth_user
set username = substring(username, 5) where username like 'DIS_%';

-- Log out users currently logged in
update django_session
set expire_date = NOW() where expire_date < NOW();

Tive de ajudar um cliente que estava muito atrasado em seus pagamentos. “Sua última fatura não está vencida”, “Suas contas dos últimos 3 meses estão vencidas” não surtiram o efeito desejado. Nem a ameaça “Pague ou fecharemos os servidores”. Sabendo que eles ainda usavam o serviço e que eventualmente pagariam se perdessem o acesso, eu não queria encerrar o serviço e que encerrar o serviço não era realmente uma opção por motivos .

Nota: “Dica profissional” pode não ser o melhor título aqui, mas eu só queria armazenar essa dica para a posteridade, caso eu precise dela novamente.