Development #51452
supprimer immédiatement les comptes
0%
Description
La présence du modèle DeletedUser remplace le soft delete.
Fichiers
Révisions associées
custom_user: remove User's deleted field (#51452)
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0002-custom_user-remove-User-s-deleted-field-51452.patch 0002-custom_user-remove-User-s-deleted-field-51452.patch ajouté
- Fichier 0001-misc-delete-users-synchronously-51452.patch 0001-misc-delete-users-synchronously-51452.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Faire et défaire c'est toujours travailler :/
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0002-custom_user-remove-User-s-deleted-field-51452.patch 0002-custom_user-remove-User-s-deleted-field-51452.patch ajouté
- Fichier 0001-misc-delete-users-synchronously-51452.patch 0001-misc-delete-users-synchronously-51452.patch ajouté
rebasé.
Mis à jour par Valentin Deniaud il y a environ 3 ans
0001, remarques de forme :
Plutôt utiliser transaction.atomic comme décorateur pour s'économiser un niveau d'indentation ?
+ def delete(self, **kwargs): + with transaction.atomic():
Indentation bizarre juste après :
+ deleted_user = DeletedUser( + old_user_id=self.id)
0002, si la migration est exécutée au mauvais moment ça va désupprimer des utilisateurs, ce serait plus safe d'avoir un RunPython qui crée les DeletedUser nécessaires avant.
Sur la forme, un sed trop rapide ici
qs = User.objects.all() - qs = qs.filter(deleted__isnull=True) + qs = qs.filter()
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0002-custom_user-remove-User-s-deleted-field-51452.patch 0002-custom_user-remove-User-s-deleted-field-51452.patch ajouté
- Fichier 0001-misc-delete-users-synchronously-51452.patch 0001-misc-delete-users-synchronously-51452.patch ajouté
0001 : ok
0002 : j'ai ajouté un RunPython dans la même migration qui fait le job, normalement tout ça tourne dans une transaction donc on est bon.
Mis à jour par Valentin Deniaud il y a environ 3 ans
Tu es sûr que le user.delete()
dans la migration c'est bien la méthode delete
surchargée qui crée un DeletedUser ? Il me semble que dans une migration on a pas accès aux méthodes custom mais je me trompe peut-être, si tu as testé et que c'est bon je te crois.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Mis à jour par Valentin Deniaud il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Ack pour quand c'est vert
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 8a543226bfc78862e73c5ec4bcd88ec5ad64fcde Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Feb 26 11:15:02 2021 +0100 custom_user: remove User's deleted field (#51452) commit 8e0f6d3cb76ed725395aef27dc9f8718129aab9a Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Feb 25 15:46:35 2021 +0100 misc: delete users synchronously (#51452)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: delete users synchronously (#51452)