Bug #45520
MultipleObjectsReturned: get() returned more than one Event -- it returned 2!
Début:
28 juillet 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/3555/
MultipleObjectsReturned: get() returned more than one Event -- it returned 2! (7 additional frame(s) were not displayed) ... File "rest_framework/views.py", line 492, in dispatch response = handler(request, *args, **kwargs) File "chrono/api/views.py", line 1346, in get event = self.get_object(event_identifier) File "chrono/api/views.py", line 1337, in get_object return Event.objects.get(slug=event_identifier) 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 384, in get (self.model._meta.object_name, num)
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Quelqu'un a du corriger à la main parce que je n'en trouve plus qu'un :
chrono=# select * from agendas_event where agenda_id = 7 and start_datetime = '2020-08-15 11:00:00'; -[ RECORD 1 ]-------+-------------------------------------------------------- id | 113 start_datetime | 2020-08-15 11:00:00+02 places | 4 agenda_id | 7 label | 15/08/2020 11h00 : 8 avenue du 1er mai 91120 Palaiseau full | f waiting_list_places | 4 meeting_type_id | desk_id | description | slug | 15082020-11h00-8-avenue-du-1er-mai-91120-palaiseau pricing | url | publication_date | 2020-07-14 duration | 15 chrono=# \q
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Le fond du problème sera corrigé par #44676 je pense.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Le soucis, c'est que l'unicité porte sur le tuple agenda, slug. Or là on cherche un Event avec le slug en seul critère.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0001-api-status-view-get-Event-by-slug-and-agenda-45520.patch 0001-api-status-view-get-Event-by-slug-and-agenda-45520.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Est-ce que je peux simplifier ce endpoint et supprimer le support des pk ? (ne garder que les slugs)
Comment est construite cette url en général ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
(répondu par jabber que dans le doute je préférais garder la compatibilité avec l'appel via pk)
(et ça me va d'ignorer la situation mixte où pour l'événement un slug serait utilisé et pour l'agenda un id, ou l'inverse).
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 2537992d19343b0caf86818ef34e19ea1e2e490d Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Aug 24 14:45:20 2020 +0200 api: status view, get Event by slug and agenda (#45520)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: status view, get Event by slug and agenda (#45520)