Bug #84766
Lors d'import de rôles plutôt basique : « Role.MultipleObjectsReturned: get() returned more than one Role -- it returned 6! »
0%
Description
Crash lors de l'import d'un JSON d'un Publik avec 3 rôles de base (agents, admin fonctionnel, debug EO).
https://sentry.entrouvert.org/entrouvert/publik/issues/110498/
Role.MultipleObjectsReturned: get() returned more than one Role -- it returned 6! (12 additional frame(s) were not displayed) ... File "authentic2/data_transfer.py", line 293, in parentings parent = search_role(parent_d) File "authentic2/data_transfer.py", line 120, in search_role role = Role.objects.get_by_natural_key_json(role_d) File "authentic2/natural_key.py", line 121, in get_by_natural_key_json return self.get(**get_kwargs) File "django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "django/db/models/query.py", line 439, in get raise self.model.MultipleObjectsReturned(
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a 5 mois
Le rôle recherché n'existe pas du tout mais get_by_natural_key_json a été pensé comme volontairement assez lâche en terme de précision pour pouvoir un peu importer n'importe quoi n'importe où (des rôles d'un ou dans une autre) et va au final juste chercher par slug et ou, ici ('_a2-hobo-superuser', 'default')
le slug par défaut pour les rôles d'administrateurs des briques mais ce qui est recherché c'est le rôle "Administrateur des statistiques".
Tout ce que je peux faire ici, c'est constaté l’ambiguïté et lever une erreur propre qui indiquera que ce parent n'existe pas.
Mis à jour par Robot Gitea il y a 5 mois
- Statut changé de Nouveau à Solution proposée
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/220
- Titre : data_transfer: handle MultipleObjectsReturned in search_role() (#84766)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/220/files
Mis à jour par Robot Gitea il y a 5 mois
- Statut changé de Solution proposée à Solution validée
Serghei Mihai (smihai) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 5 mois
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/220
- Titre : data_transfer: handle MultipleObjectsReturned in search_role() (#84766)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/220/files
Mis à jour par Transition automatique il y a 5 mois
- Statut changé de Résolu (à déployer) à Solution déployée
data_transfer: handle MultipleObjectsReturned in search_role() (#84766)