Projet

Général

Profil

Bug #45520

MultipleObjectsReturned: get() returned more than one Event -- it returned 2!

Ajouté par Sentry Io il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
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

Révision 2537992d (diff)
Ajouté par Lauréline Guérin il y a plus de 3 ans

api: status view, get Event by slug and agenda (#45520)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Projet changé de Suivi des traces à Chrono
#2

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
#3

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Le fond du problème sera corrigé par #44676 je pense.

#4

Mis à jour par Lauréline Guérin il y a plus de 3 ans

  • Assigné à mis à Lauréline Guérin
#5

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.

#6

Mis à jour par Lauréline Guérin il y a plus de 3 ans

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 ?

#7

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).

#8

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)
#9

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

Formats disponibles : Atom PDF